File Coverage

blib/lib/Config/Maker/Grammar.pm
Criterion Covered Total %
statement 5160 7248 71.1
branch 1604 4400 36.4
condition 345 884 39.0
subroutine 288 304 94.7
pod 0 1 0.0
total 7397 12837 57.6


line stmt bran cond sub pod time code
1             package Config::Maker::Grammar;
2 9     9   33507 use Parse::RecDescent;
  9         3111850  
  9         79  
3             { my $ERRORS;
4              
5              
6             package Parse::RecDescent::Config::Maker::Grammar;
7 9     9   588 use strict;
  9         24  
  9         332  
8 9     9   47 use vars qw($skip $AUTOLOAD );
  9         18  
  9         871  
9             @Parse::RecDescent::Config::Maker::Grammar::ISA = ();
10             $skip = '\s*';
11              
12              
13             {
14             local $SIG{__WARN__} = sub {0};
15             # PRETEND TO BE IN Parse::RecDescent NAMESPACE
16             *Parse::RecDescent::Config::Maker::Grammar::AUTOLOAD = sub
17             {
18 9     9   49 no strict 'refs';
  9         19  
  9         988  
19              
20 0     0   0 ${"AUTOLOAD"} =~ s/^Parse::RecDescent::Config::Maker::Grammar/Parse::RecDescent/;
  0         0  
21 0         0 goto &{${"AUTOLOAD"}};
  0         0  
  0         0  
22             }
23             }
24              
25             push @Parse::RecDescent::Config::Maker::Grammar::ISA, 'Parse::RecDescent';
26             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
27             sub Parse::RecDescent::Config::Maker::Grammar::ifrest
28             {
29 7     7   16 my $thisparser = $_[0];
30 9     9   44 use vars q{$tracelevel};
  9         21  
  9         3849  
31 7   50     39 local $tracelevel = ($tracelevel||0)+1;
32 7         14 $ERRORS = 0;
33 7         23 my $thisrule = $thisparser->{"rules"}{"ifrest"};
34              
35 7 50       18 Parse::RecDescent::_trace(q{Trying rule: [ifrest]},
36             Parse::RecDescent::_tracefirst($_[1]),
37             q{ifrest},
38             $tracelevel)
39             if defined $::RD_TRACE;
40              
41            
42 7         16 my $err_at = @{$thisparser->{errors}};
  7         16  
43              
44 7         14 my $score;
45             my $score_return;
46 0         0 my $_tok;
47 7         12 my $return = undef;
48 7         14 my $_matched=0;
49 7         13 my $commit=0;
50 7         13 my @item = ();
51 7         14 my %item = ();
52 7         12 my $repeating = $_[2];
53 7         13 my $_noactions = $_[3];
54 7 50       20 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  7         10  
  7         21  
55 7         15 my $_itempos = $_[5];
56 7 50       24 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
57 7         12 my $text;
58             my $lastsep;
59 0         0 my $current_match;
60 7         33 my $expectation = new Parse::RecDescent::Expectation(q{opener, or closer});
61 7         73 $expectation->at($_[1]);
62            
63 7         48 my $thisline;
64 7         38 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
65              
66            
67              
68 7   33     84 while (!$_matched && !$commit)
69             {
70            
71 7 50       30 Parse::RecDescent::_trace(q{Trying production: [opener directive ifrest]},
72             Parse::RecDescent::_tracefirst($_[1]),
73             q{ifrest},
74             $tracelevel)
75             if defined $::RD_TRACE;
76 7         25 my $thisprod = $thisrule->{"prods"}[0];
77 7         15 $text = $_[1];
78 7         8 my $_savetext;
79 7         24 @item = (q{ifrest});
80 7         20 %item = (__RULE__ => q{ifrest});
81 7         11 my $repcount = 0;
82              
83              
84 7 50       34 Parse::RecDescent::_trace(q{Trying subrule: [opener]},
85             Parse::RecDescent::_tracefirst($text),
86             q{ifrest},
87             $tracelevel)
88             if defined $::RD_TRACE;
89 9     9   52 if (1) { no strict qw{refs};
  9         20  
  9         6242  
  7         9  
90 7         29 $expectation->is(q{})->at($text);
91 7 100   7   78 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::opener($thisparser,$text,$repeating,$_noactions,sub { return ['elsif', perlcode => '()'] },undef)))
  7         36  
92             {
93            
94 6 50       18 Parse::RecDescent::_trace(q{<>},
95             Parse::RecDescent::_tracefirst($text),
96             q{ifrest},
97             $tracelevel)
98             if defined $::RD_TRACE;
99 6         23 $expectation->failed();
100 6         30 last;
101             }
102 1 50       7 Parse::RecDescent::_trace(q{>>Matched subrule: [opener]<< (return value: [}
103             . $_tok . q{]},
104              
105             Parse::RecDescent::_tracefirst($text),
106             q{ifrest},
107             $tracelevel)
108             if defined $::RD_TRACE;
109 1         3 $item{q{opener}} = $_tok;
110 1         2 push @item, $_tok;
111            
112             }
113              
114            
115              
116 1 50       4 Parse::RecDescent::_trace(q{Trying directive: []},
117             Parse::RecDescent::_tracefirst($text),
118             q{ifrest},
119             $tracelevel)
120             if defined $::RD_TRACE;
121 1         1 $_tok = do { $commit = 1 };
  1         3  
122 1 50       4 if (defined($_tok))
123             {
124 1 50       4 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
125             . $_tok . q{])},
126             Parse::RecDescent::_tracefirst($text))
127             if defined $::RD_TRACE;
128             }
129             else
130             {
131 0 0       0 Parse::RecDescent::_trace(q{<>},
132             Parse::RecDescent::_tracefirst($text))
133             if defined $::RD_TRACE;
134             }
135            
136 1 50       4 last unless defined $_tok;
137 1         4 push @item, $item{__DIRECTIVE1__}=$_tok;
138            
139              
140 1 50       4 Parse::RecDescent::_trace(q{Trying repeated subrule: [directive]},
141             Parse::RecDescent::_tracefirst($text),
142             q{ifrest},
143             $tracelevel)
144             if defined $::RD_TRACE;
145 1         6 $expectation->is(q{directive})->at($text);
146            
147 1 50   2   16 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::directive, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  2         5  
148             {
149 0 0       0 Parse::RecDescent::_trace(q{<>},
150             Parse::RecDescent::_tracefirst($text),
151             q{ifrest},
152             $tracelevel)
153             if defined $::RD_TRACE;
154 0         0 last;
155             }
156 1 50       18 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [directive]<< (}
157             . @$_tok . q{ times)},
158              
159             Parse::RecDescent::_tracefirst($text),
160             q{ifrest},
161             $tracelevel)
162             if defined $::RD_TRACE;
163 1         3 $item{q{directive(s)}} = $_tok;
164 1         2 push @item, $_tok;
165            
166              
167              
168 1 50       4 Parse::RecDescent::_trace(q{Trying subrule: [ifrest]},
169             Parse::RecDescent::_tracefirst($text),
170             q{ifrest},
171             $tracelevel)
172             if defined $::RD_TRACE;
173 9     9   56 if (1) { no strict qw{refs};
  9         20  
  9         6652  
  1         1  
174 1         4 $expectation->is(q{ifrest})->at($text);
175 1 50   1   14 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::ifrest($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  1         4  
176             {
177            
178 0 0       0 Parse::RecDescent::_trace(q{<>},
179             Parse::RecDescent::_tracefirst($text),
180             q{ifrest},
181             $tracelevel)
182             if defined $::RD_TRACE;
183 0         0 $expectation->failed();
184 0         0 last;
185             }
186 1 50       4 Parse::RecDescent::_trace(q{>>Matched subrule: [ifrest]<< (return value: [}
187             . $_tok . q{]},
188              
189             Parse::RecDescent::_tracefirst($text),
190             q{ifrest},
191             $tracelevel)
192             if defined $::RD_TRACE;
193 1         3 $item{q{ifrest}} = $_tok;
194 1         2 push @item, $_tok;
195            
196             }
197              
198 1 50       5 Parse::RecDescent::_trace(q{Trying action},
199             Parse::RecDescent::_tracefirst($text),
200             q{ifrest},
201             $tracelevel)
202             if defined $::RD_TRACE;
203            
204              
205 1 50       3 $_tok = ($_noactions) ? 0 : do {
206 1         2 my $expr = $item[1];
207 1         2 my @parts = @{$item[3]};
  1         3  
208 1         2 my $else = $item[4];
209             sub {
210 6 50   6   22 if(Config::Maker::exe($expr)) {
211 6         18 Config::Maker::Driver::apply(@parts);
212             } else {
213 0         0 Config::Maker::Driver::apply($else);
214             }
215             }
216 1         5 };
217 1 50       5 unless (defined $_tok)
218             {
219 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
220             if defined $::RD_TRACE;
221 0         0 last;
222             }
223 1 50       3 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
224             . $_tok . q{])},
225             Parse::RecDescent::_tracefirst($text))
226             if defined $::RD_TRACE;
227 1         2 push @item, $_tok;
228 1         3 $item{__ACTION1__}=$_tok;
229            
230              
231 1 50       4 Parse::RecDescent::_trace(q{>>Matched production: [opener directive ifrest]<<},
232             Parse::RecDescent::_tracefirst($text),
233             q{ifrest},
234             $tracelevel)
235             if defined $::RD_TRACE;
236              
237              
238              
239 1         1 $_matched = 1;
240 1         1 last;
241             }
242              
243              
244 7   66     43 while (!$_matched && !$commit)
245             {
246            
247 6 50       54 Parse::RecDescent::_trace(q{Trying production: [opener directive ifrest]},
248             Parse::RecDescent::_tracefirst($_[1]),
249             q{ifrest},
250             $tracelevel)
251             if defined $::RD_TRACE;
252 6         21 my $thisprod = $thisrule->{"prods"}[1];
253 6         15 $text = $_[1];
254 6         8 my $_savetext;
255 6         23 @item = (q{ifrest});
256 6         19 %item = (__RULE__ => q{ifrest});
257 6         12 my $repcount = 0;
258              
259              
260 6 50       17 Parse::RecDescent::_trace(q{Trying subrule: [opener]},
261             Parse::RecDescent::_tracefirst($text),
262             q{ifrest},
263             $tracelevel)
264             if defined $::RD_TRACE;
265 9     9   64 if (1) { no strict qw{refs};
  9         20  
  9         6134  
  6         7  
266 6         27 $expectation->is(q{})->at($text);
267 6 100   6   172 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::opener($thisparser,$text,$repeating,$_noactions,sub { return ['elsif', pair => ['identifier'], ['path']] },undef)))
  6         38  
268             {
269            
270 5 50       16 Parse::RecDescent::_trace(q{<>},
271             Parse::RecDescent::_tracefirst($text),
272             q{ifrest},
273             $tracelevel)
274             if defined $::RD_TRACE;
275 5         18 $expectation->failed();
276 5         25 last;
277             }
278 1 50       6 Parse::RecDescent::_trace(q{>>Matched subrule: [opener]<< (return value: [}
279             . $_tok . q{]},
280              
281             Parse::RecDescent::_tracefirst($text),
282             q{ifrest},
283             $tracelevel)
284             if defined $::RD_TRACE;
285 1         4 $item{q{opener}} = $_tok;
286 1         3 push @item, $_tok;
287            
288             }
289              
290            
291              
292 1 50       4 Parse::RecDescent::_trace(q{Trying directive: []},
293             Parse::RecDescent::_tracefirst($text),
294             q{ifrest},
295             $tracelevel)
296             if defined $::RD_TRACE;
297 1         1 $_tok = do { $commit = 1 };
  1         2  
298 1 50       4 if (defined($_tok))
299             {
300 1 50       4 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
301             . $_tok . q{])},
302             Parse::RecDescent::_tracefirst($text))
303             if defined $::RD_TRACE;
304             }
305             else
306             {
307 0 0       0 Parse::RecDescent::_trace(q{<>},
308             Parse::RecDescent::_tracefirst($text))
309             if defined $::RD_TRACE;
310             }
311            
312 1 50       4 last unless defined $_tok;
313 1         3 push @item, $item{__DIRECTIVE1__}=$_tok;
314            
315              
316 1 50       4 Parse::RecDescent::_trace(q{Trying repeated subrule: [directive]},
317             Parse::RecDescent::_tracefirst($text),
318             q{ifrest},
319             $tracelevel)
320             if defined $::RD_TRACE;
321 1         5 $expectation->is(q{directive})->at($text);
322            
323 1 50   3   16 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::directive, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  3         8  
324             {
325 0 0       0 Parse::RecDescent::_trace(q{<>},
326             Parse::RecDescent::_tracefirst($text),
327             q{ifrest},
328             $tracelevel)
329             if defined $::RD_TRACE;
330 0         0 last;
331             }
332 1 50       23 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [directive]<< (}
333             . @$_tok . q{ times)},
334              
335             Parse::RecDescent::_tracefirst($text),
336             q{ifrest},
337             $tracelevel)
338             if defined $::RD_TRACE;
339 1         4 $item{q{directive(s)}} = $_tok;
340 1         2 push @item, $_tok;
341            
342              
343              
344 1 50       6 Parse::RecDescent::_trace(q{Trying subrule: [ifrest]},
345             Parse::RecDescent::_tracefirst($text),
346             q{ifrest},
347             $tracelevel)
348             if defined $::RD_TRACE;
349 9     9   61 if (1) { no strict qw{refs};
  9         16  
  9         8501  
  1         3  
350 1         5 $expectation->is(q{ifrest})->at($text);
351 1 50   1   54 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::ifrest($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  1         4  
352             {
353            
354 0 0       0 Parse::RecDescent::_trace(q{<>},
355             Parse::RecDescent::_tracefirst($text),
356             q{ifrest},
357             $tracelevel)
358             if defined $::RD_TRACE;
359 0         0 $expectation->failed();
360 0         0 last;
361             }
362 1 50       8 Parse::RecDescent::_trace(q{>>Matched subrule: [ifrest]<< (return value: [}
363             . $_tok . q{]},
364              
365             Parse::RecDescent::_tracefirst($text),
366             q{ifrest},
367             $tracelevel)
368             if defined $::RD_TRACE;
369 1         5 $item{q{ifrest}} = $_tok;
370 1         3 push @item, $_tok;
371            
372             }
373              
374 1 50       5 Parse::RecDescent::_trace(q{Trying action},
375             Parse::RecDescent::_tracefirst($text),
376             q{ifrest},
377             $tracelevel)
378             if defined $::RD_TRACE;
379            
380              
381 1 50       5 $_tok = ($_noactions) ? 0 : do {
382 1         2 my ($test, $path) = @{$item[1]};
  1         4  
383 1         3 my @parts = @{$item[3]};
  1         10  
384 1         3 my $else = $item[4];
385             sub {
386 5 50   5   17 die "No if test '$test'"
387             unless $Config::Maker::Path::checks{$test};
388 5 100       15 if($Config::Maker::Path::checks{$test}($path)) {
389 2         8 Config::Maker::Driver::apply(@parts);
390             } else {
391 3         12 Config::Maker::Driver::apply($else);
392             }
393             }
394 1         6 };
395 1 50       4 unless (defined $_tok)
396             {
397 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
398             if defined $::RD_TRACE;
399 0         0 last;
400             }
401 1 50       5 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
402             . $_tok . q{])},
403             Parse::RecDescent::_tracefirst($text))
404             if defined $::RD_TRACE;
405 1         2 push @item, $_tok;
406 1         5 $item{__ACTION1__}=$_tok;
407            
408              
409 1 50       3 Parse::RecDescent::_trace(q{>>Matched production: [opener directive ifrest]<<},
410             Parse::RecDescent::_tracefirst($text),
411             q{ifrest},
412             $tracelevel)
413             if defined $::RD_TRACE;
414              
415              
416              
417 1         2 $_matched = 1;
418 1         2 last;
419             }
420              
421              
422 7   66     39 while (!$_matched && !$commit)
423             {
424            
425 5 50       14 Parse::RecDescent::_trace(q{Trying production: [opener directive closer]},
426             Parse::RecDescent::_tracefirst($_[1]),
427             q{ifrest},
428             $tracelevel)
429             if defined $::RD_TRACE;
430 5         14 my $thisprod = $thisrule->{"prods"}[2];
431 5         13 $text = $_[1];
432 5         5 my $_savetext;
433 5         15 @item = (q{ifrest});
434 5         16 %item = (__RULE__ => q{ifrest});
435 5         6 my $repcount = 0;
436              
437              
438 5 50       25 Parse::RecDescent::_trace(q{Trying subrule: [opener]},
439             Parse::RecDescent::_tracefirst($text),
440             q{ifrest},
441             $tracelevel)
442             if defined $::RD_TRACE;
443 9     9   64 if (1) { no strict qw{refs};
  9         17  
  9         8726  
  5         7  
444 5         20 $expectation->is(q{})->at($text);
445 5 100   5   60 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::opener($thisparser,$text,$repeating,$_noactions,sub { return ['else', 'void'] },undef)))
  5         18  
446             {
447            
448 4 50       15 Parse::RecDescent::_trace(q{<>},
449             Parse::RecDescent::_tracefirst($text),
450             q{ifrest},
451             $tracelevel)
452             if defined $::RD_TRACE;
453 4         15 $expectation->failed();
454 4         19 last;
455             }
456 1 50       5 Parse::RecDescent::_trace(q{>>Matched subrule: [opener]<< (return value: [}
457             . $_tok . q{]},
458              
459             Parse::RecDescent::_tracefirst($text),
460             q{ifrest},
461             $tracelevel)
462             if defined $::RD_TRACE;
463 1         3 $item{q{opener}} = $_tok;
464 1         2 push @item, $_tok;
465            
466             }
467              
468            
469              
470 1 50       4 Parse::RecDescent::_trace(q{Trying directive: []},
471             Parse::RecDescent::_tracefirst($text),
472             q{ifrest},
473             $tracelevel)
474             if defined $::RD_TRACE;
475 1         2 $_tok = do { $commit = 1 };
  1         2  
476 1 50       4 if (defined($_tok))
477             {
478 1 50       4 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
479             . $_tok . q{])},
480             Parse::RecDescent::_tracefirst($text))
481             if defined $::RD_TRACE;
482             }
483             else
484             {
485 0 0       0 Parse::RecDescent::_trace(q{<>},
486             Parse::RecDescent::_tracefirst($text))
487             if defined $::RD_TRACE;
488             }
489            
490 1 50       3 last unless defined $_tok;
491 1         3 push @item, $item{__DIRECTIVE1__}=$_tok;
492            
493              
494 1 50       3 Parse::RecDescent::_trace(q{Trying repeated subrule: [directive]},
495             Parse::RecDescent::_tracefirst($text),
496             q{ifrest},
497             $tracelevel)
498             if defined $::RD_TRACE;
499 1         4 $expectation->is(q{directive})->at($text);
500            
501 1 50   3   15 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::directive, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  3         9  
502             {
503 0 0       0 Parse::RecDescent::_trace(q{<>},
504             Parse::RecDescent::_tracefirst($text),
505             q{ifrest},
506             $tracelevel)
507             if defined $::RD_TRACE;
508 0         0 last;
509             }
510 1 50       17 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [directive]<< (}
511             . @$_tok . q{ times)},
512              
513             Parse::RecDescent::_tracefirst($text),
514             q{ifrest},
515             $tracelevel)
516             if defined $::RD_TRACE;
517 1         2 $item{q{directive(s)}} = $_tok;
518 1         3 push @item, $_tok;
519            
520              
521              
522 1 50       4 Parse::RecDescent::_trace(q{Trying subrule: [closer]},
523             Parse::RecDescent::_tracefirst($text),
524             q{ifrest},
525             $tracelevel)
526             if defined $::RD_TRACE;
527 9     9   61 if (1) { no strict qw{refs};
  9         24  
  9         5990  
  1         2  
528 1         5 $expectation->is(q{closer})->at($text);
529 1 50   1   11 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::closer($thisparser,$text,$repeating,$_noactions,sub { return ['if'] },undef)))
  1         4  
530             {
531            
532 0 0       0 Parse::RecDescent::_trace(q{<>},
533             Parse::RecDescent::_tracefirst($text),
534             q{ifrest},
535             $tracelevel)
536             if defined $::RD_TRACE;
537 0         0 $expectation->failed();
538 0         0 last;
539             }
540 1 50       8 Parse::RecDescent::_trace(q{>>Matched subrule: [closer]<< (return value: [}
541             . $_tok . q{]},
542              
543             Parse::RecDescent::_tracefirst($text),
544             q{ifrest},
545             $tracelevel)
546             if defined $::RD_TRACE;
547 1         4 $item{q{closer}} = $_tok;
548 1         3 push @item, $_tok;
549            
550             }
551              
552 1 50       5 Parse::RecDescent::_trace(q{Trying action},
553             Parse::RecDescent::_tracefirst($text),
554             q{ifrest},
555             $tracelevel)
556             if defined $::RD_TRACE;
557            
558              
559 1 50       6 $_tok = ($_noactions) ? 0 : do {
560 1         2 my @parts = @{$item[3]};
  1         4  
561             sub {
562 3     3   9 Config::Maker::Driver::apply(@parts);
563             }
564 1         7 };
565 1 50       5 unless (defined $_tok)
566             {
567 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
568             if defined $::RD_TRACE;
569 0         0 last;
570             }
571 1 50       7 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
572             . $_tok . q{])},
573             Parse::RecDescent::_tracefirst($text))
574             if defined $::RD_TRACE;
575 1         2 push @item, $_tok;
576 1         4 $item{__ACTION1__}=$_tok;
577            
578              
579 1 50       6 Parse::RecDescent::_trace(q{>>Matched production: [opener directive closer]<<},
580             Parse::RecDescent::_tracefirst($text),
581             q{ifrest},
582             $tracelevel)
583             if defined $::RD_TRACE;
584              
585              
586              
587 1         3 $_matched = 1;
588 1         3 last;
589             }
590              
591              
592 7   66     45 while (!$_matched && !$commit)
593             {
594            
595 4 50       11 Parse::RecDescent::_trace(q{Trying production: [closer]},
596             Parse::RecDescent::_tracefirst($_[1]),
597             q{ifrest},
598             $tracelevel)
599             if defined $::RD_TRACE;
600 4         13 my $thisprod = $thisrule->{"prods"}[3];
601 4         9 $text = $_[1];
602 4         6 my $_savetext;
603 4         11 @item = (q{ifrest});
604 4         12 %item = (__RULE__ => q{ifrest});
605 4         5 my $repcount = 0;
606              
607              
608 4 50       12 Parse::RecDescent::_trace(q{Trying subrule: [closer]},
609             Parse::RecDescent::_tracefirst($text),
610             q{ifrest},
611             $tracelevel)
612             if defined $::RD_TRACE;
613 9     9   53 if (1) { no strict qw{refs};
  9         27  
  9         11058  
  4         7  
614 4         17 $expectation->is(q{})->at($text);
615 4 50   4   67 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::closer($thisparser,$text,$repeating,$_noactions,sub { return ['if'] },undef)))
  4         22  
616             {
617            
618 0 0       0 Parse::RecDescent::_trace(q{<>},
619             Parse::RecDescent::_tracefirst($text),
620             q{ifrest},
621             $tracelevel)
622             if defined $::RD_TRACE;
623 0         0 $expectation->failed();
624 0         0 last;
625             }
626 4 50       19 Parse::RecDescent::_trace(q{>>Matched subrule: [closer]<< (return value: [}
627             . $_tok . q{]},
628              
629             Parse::RecDescent::_tracefirst($text),
630             q{ifrest},
631             $tracelevel)
632             if defined $::RD_TRACE;
633 4         13 $item{q{closer}} = $_tok;
634 4         8 push @item, $_tok;
635            
636             }
637              
638 4 50       13 Parse::RecDescent::_trace(q{Trying action},
639             Parse::RecDescent::_tracefirst($text),
640             q{ifrest},
641             $tracelevel)
642             if defined $::RD_TRACE;
643            
644              
645 4 50       9 $_tok = ($_noactions) ? 0 : do { ''; };
  4         10  
646 4 50       12 unless (defined $_tok)
647             {
648 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
649             if defined $::RD_TRACE;
650 0         0 last;
651             }
652 4 50       12 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
653             . $_tok . q{])},
654             Parse::RecDescent::_tracefirst($text))
655             if defined $::RD_TRACE;
656 4         17 push @item, $_tok;
657 4         11 $item{__ACTION1__}=$_tok;
658            
659              
660 4 50       13 Parse::RecDescent::_trace(q{>>Matched production: [closer]<<},
661             Parse::RecDescent::_tracefirst($text),
662             q{ifrest},
663             $tracelevel)
664             if defined $::RD_TRACE;
665              
666              
667              
668 4         6 $_matched = 1;
669 4         8 last;
670             }
671              
672              
673 7 50 33     23 unless ( $_matched || defined($score) )
674             {
675            
676              
677 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
678 0 0       0 Parse::RecDescent::_trace(q{<>},
679             Parse::RecDescent::_tracefirst($_[1]),
680             q{ifrest},
681             $tracelevel)
682             if defined $::RD_TRACE;
683 0         0 return undef;
684             }
685 7 50 33     47 if (!defined($return) && defined($score))
686             {
687 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
688             q{ifrest},
689             $tracelevel)
690             if defined $::RD_TRACE;
691 0         0 $return = $score_return;
692             }
693 7         8 splice @{$thisparser->{errors}}, $err_at;
  7         19  
694 7 50       25 $return = $item[$#item] unless defined $return;
695 7 50       17 if (defined $::RD_TRACE)
696             {
697 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
698             $return . q{])}, "",
699             q{ifrest},
700             $tracelevel);
701 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
702             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
703             Parse::RecDescent::_tracefirst($text),
704             , q{ifrest},
705             $tracelevel)
706             }
707 7         17 $_[1] = $text;
708 7         74 return $return;
709             }
710              
711             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
712             sub Parse::RecDescent::Config::Maker::Grammar::value_nested_list
713             {
714 23     23   66 my $thisparser = $_[0];
715 9     9   68 use vars q{$tracelevel};
  9         22  
  9         19363  
716 23   50     102 local $tracelevel = ($tracelevel||0)+1;
717 23         38 $ERRORS = 0;
718 23         109 my $thisrule = $thisparser->{"rules"}{"value_nested_list"};
719              
720 23 50       80 Parse::RecDescent::_trace(q{Trying rule: [value_nested_list]},
721             Parse::RecDescent::_tracefirst($_[1]),
722             q{value_nested_list},
723             $tracelevel)
724             if defined $::RD_TRACE;
725              
726            
727 23         39 my $err_at = @{$thisparser->{errors}};
  23         65  
728              
729 23         45 my $score;
730             my $score_return;
731 0         0 my $_tok;
732 23         40 my $return = undef;
733 23         44 my $_matched=0;
734 23         47 my $commit=0;
735 23         45 my @item = ();
736 23         51 my %item = ();
737 23         44 my $repeating = $_[2];
738 23         39 my $_noactions = $_[3];
739 23 50       73 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  23         30  
  23         74  
740 23         60 my $_itempos = $_[5];
741 23 50       134 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
742 23         43 my $text;
743             my $lastsep;
744 0         0 my $current_match;
745 23         97 my $expectation = new Parse::RecDescent::Expectation(q{'['});
746 23         246 $expectation->at($_[1]);
747            
748 23         115 my $thisline;
749 23         112 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
750              
751            
752              
753 23   33     4776 while (!$_matched && !$commit)
754             {
755            
756 23 50       72 Parse::RecDescent::_trace(q{Trying production: ['[' value_nestlist_elem ']']},
757             Parse::RecDescent::_tracefirst($_[1]),
758             q{value_nested_list},
759             $tracelevel)
760             if defined $::RD_TRACE;
761 23         90 my $thisprod = $thisrule->{"prods"}[0];
762 23         52 $text = $_[1];
763 23         36 my $_savetext;
764 23         61 @item = (q{value_nested_list});
765 23         66 %item = (__RULE__ => q{value_nested_list});
766 23         34 my $repcount = 0;
767              
768              
769 23 50       75 Parse::RecDescent::_trace(q{Trying terminal: ['[']},
770             Parse::RecDescent::_tracefirst($text),
771             q{value_nested_list},
772             $tracelevel)
773             if defined $::RD_TRACE;
774 23         84 undef $lastsep;
775 23         106 $expectation->is(q{})->at($text);
776            
777              
778 23 50 33     534 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\[/)
  23 50       328  
779             {
780 0 0       0 $text = $lastsep . $text if defined $lastsep;
781            
782 0         0 $expectation->failed();
783 0 0       0 Parse::RecDescent::_trace(qq{<>},
784             Parse::RecDescent::_tracefirst($text))
785             if defined $::RD_TRACE;
786 0         0 last;
787             }
788 23         180 $current_match = substr($text, $-[0], $+[0] - $-[0]);
789 23         108 substr($text,0,length($current_match),q{});
790 23 50       77 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
791             . $current_match . q{])},
792             Parse::RecDescent::_tracefirst($text))
793             if defined $::RD_TRACE;
794 23         71 push @item, $item{__STRING1__}=$current_match;
795            
796              
797 23 50       72 Parse::RecDescent::_trace(q{Trying repeated subrule: [value_nestlist_elem]},
798             Parse::RecDescent::_tracefirst($text),
799             q{value_nested_list},
800             $tracelevel)
801             if defined $::RD_TRACE;
802 23         248 $expectation->is(q{value_nestlist_elem})->at($text);
803            
804 23 50   46   476 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::value_nestlist_elem, 0, 100000000, $_noactions,$expectation,sub { return [@arg] },undef)))
  46         154  
805             {
806 0 0       0 Parse::RecDescent::_trace(q{<>},
807             Parse::RecDescent::_tracefirst($text),
808             q{value_nested_list},
809             $tracelevel)
810             if defined $::RD_TRACE;
811 0         0 last;
812             }
813 23 50       450 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [value_nestlist_elem]<< (}
814             . @$_tok . q{ times)},
815              
816             Parse::RecDescent::_tracefirst($text),
817             q{value_nested_list},
818             $tracelevel)
819             if defined $::RD_TRACE;
820 23         186 $item{q{value_nestlist_elem(s?)}} = $_tok;
821 23         49 push @item, $_tok;
822            
823              
824              
825 23 50       60 Parse::RecDescent::_trace(q{Trying terminal: [']']},
826             Parse::RecDescent::_tracefirst($text),
827             q{value_nested_list},
828             $tracelevel)
829             if defined $::RD_TRACE;
830 23         36 undef $lastsep;
831 23         87 $expectation->is(q{']'})->at($text);
832            
833              
834 23 50 33     493 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\]/)
  23 50       451  
835             {
836 0 0       0 $text = $lastsep . $text if defined $lastsep;
837            
838 0         0 $expectation->failed();
839 0 0       0 Parse::RecDescent::_trace(qq{<>},
840             Parse::RecDescent::_tracefirst($text))
841             if defined $::RD_TRACE;
842 0         0 last;
843             }
844 23         171 $current_match = substr($text, $-[0], $+[0] - $-[0]);
845 23         106 substr($text,0,length($current_match),q{});
846 23 50       76 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
847             . $current_match . q{])},
848             Parse::RecDescent::_tracefirst($text))
849             if defined $::RD_TRACE;
850 23         92 push @item, $item{__STRING2__}=$current_match;
851            
852              
853 23 50       136 Parse::RecDescent::_trace(q{Trying action},
854             Parse::RecDescent::_tracefirst($text),
855             q{value_nested_list},
856             $tracelevel)
857             if defined $::RD_TRACE;
858            
859              
860 23 50       70 $_tok = ($_noactions) ? 0 : do { new Config::Maker::Value::List($item[2]); };
  23         243  
861 23 50       161 unless (defined $_tok)
862             {
863 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
864             if defined $::RD_TRACE;
865 0         0 last;
866             }
867 23 50       86 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
868             . $_tok . q{])},
869             Parse::RecDescent::_tracefirst($text))
870             if defined $::RD_TRACE;
871 23         54 push @item, $_tok;
872 23         61 $item{__ACTION1__}=$_tok;
873            
874              
875 23 50       204 Parse::RecDescent::_trace(q{>>Matched production: ['[' value_nestlist_elem ']']<<},
876             Parse::RecDescent::_tracefirst($text),
877             q{value_nested_list},
878             $tracelevel)
879             if defined $::RD_TRACE;
880              
881              
882              
883 23         40 $_matched = 1;
884 23         63 last;
885             }
886              
887              
888 23         95 while (!$_matched)
889             {
890            
891 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
892             Parse::RecDescent::_tracefirst($_[1]),
893             q{value_nested_list},
894             $tracelevel)
895             if defined $::RD_TRACE;
896 0         0 my $thisprod = $thisrule->{"prods"}[1];
897            
898 0         0 my $_savetext;
899 0         0 @item = (q{value_nested_list});
900 0         0 %item = (__RULE__ => q{value_nested_list});
901 0         0 my $repcount = 0;
902              
903              
904            
905              
906 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
907             Parse::RecDescent::_tracefirst($text),
908             q{value_nested_list},
909             $tracelevel)
910             if defined $::RD_TRACE;
911 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
912 0         0 my $rule = $item[0];
913 0         0 $rule =~ s/_/ /g;
914             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
915 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
916 0         0 } unless $_noactions; undef } else {0} };
917 0 0       0 if (defined($_tok))
918             {
919 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
920             . $_tok . q{])},
921             Parse::RecDescent::_tracefirst($text))
922             if defined $::RD_TRACE;
923             }
924             else
925             {
926 0 0       0 Parse::RecDescent::_trace(q{<>},
927             Parse::RecDescent::_tracefirst($text))
928             if defined $::RD_TRACE;
929             }
930            
931 0 0       0 last unless defined $_tok;
932 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
933            
934              
935 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
936             Parse::RecDescent::_tracefirst($text),
937             q{value_nested_list},
938             $tracelevel)
939             if defined $::RD_TRACE;
940              
941              
942              
943 0         0 $_matched = 1;
944 0         0 last;
945             }
946              
947              
948 23 50 33     76 unless ( $_matched || defined($score) )
949             {
950            
951              
952 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
953 0 0       0 Parse::RecDescent::_trace(q{<>},
954             Parse::RecDescent::_tracefirst($_[1]),
955             q{value_nested_list},
956             $tracelevel)
957             if defined $::RD_TRACE;
958 0         0 return undef;
959             }
960 23 50 33     185 if (!defined($return) && defined($score))
961             {
962 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
963             q{value_nested_list},
964             $tracelevel)
965             if defined $::RD_TRACE;
966 0         0 $return = $score_return;
967             }
968 23         38 splice @{$thisparser->{errors}}, $err_at;
  23         96  
969 23 50       98 $return = $item[$#item] unless defined $return;
970 23 50       87 if (defined $::RD_TRACE)
971             {
972 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
973             $return . q{])}, "",
974             q{value_nested_list},
975             $tracelevel);
976 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
977             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
978             Parse::RecDescent::_tracefirst($text),
979             , q{value_nested_list},
980             $tracelevel)
981             }
982 23         71 $_[1] = $text;
983 23         263 return $return;
984             }
985              
986             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
987             sub Parse::RecDescent::Config::Maker::Grammar::value_zero_list
988             {
989 45     45   139 my $thisparser = $_[0];
990 9     9   74 use vars q{$tracelevel};
  9         20  
  9         14249  
991 45   50     201 local $tracelevel = ($tracelevel||0)+1;
992 45         87 $ERRORS = 0;
993 45         132 my $thisrule = $thisparser->{"rules"}{"value_zero_list"};
994              
995 45 50       204 Parse::RecDescent::_trace(q{Trying rule: [value_zero_list]},
996             Parse::RecDescent::_tracefirst($_[1]),
997             q{value_zero_list},
998             $tracelevel)
999             if defined $::RD_TRACE;
1000              
1001            
1002 45         69 my $err_at = @{$thisparser->{errors}};
  45         127  
1003              
1004 45         98 my $score;
1005             my $score_return;
1006 0         0 my $_tok;
1007 45         77 my $return = undef;
1008 45         72 my $_matched=0;
1009 45         71 my $commit=0;
1010 45         93 my @item = ();
1011 45         119 my %item = ();
1012 45         80 my $repeating = $_[2];
1013 45         114 my $_noactions = $_[3];
1014 45 50       151 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  45         67  
  45         246  
1015 45         143 my $_itempos = $_[5];
1016 45 50       300 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1017 45         312 my $text;
1018             my $lastsep;
1019 0         0 my $current_match;
1020 45         220 my $expectation = new Parse::RecDescent::Expectation(q{value});
1021 45         1763 $expectation->at($_[1]);
1022            
1023 45         216 my $thisline;
1024 45         234 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1025              
1026            
1027              
1028 45   33     1728 while (!$_matched && !$commit)
1029             {
1030            
1031 45 50       155 Parse::RecDescent::_trace(q{Trying production: [value]},
1032             Parse::RecDescent::_tracefirst($_[1]),
1033             q{value_zero_list},
1034             $tracelevel)
1035             if defined $::RD_TRACE;
1036 45         188 my $thisprod = $thisrule->{"prods"}[0];
1037 45         91 $text = $_[1];
1038 45         73 my $_savetext;
1039 45         115 @item = (q{value_zero_list});
1040 45         146 %item = (__RULE__ => q{value_zero_list});
1041 45         82 my $repcount = 0;
1042              
1043              
1044 45 50       134 Parse::RecDescent::_trace(q{Trying repeated subrule: [value]},
1045             Parse::RecDescent::_tracefirst($text),
1046             q{value_zero_list},
1047             $tracelevel)
1048             if defined $::RD_TRACE;
1049 45         182 $expectation->is(q{})->at($text);
1050            
1051 45 50   90   689 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::value, 0, 100000000, $_noactions,$expectation,sub { return [@arg] },undef)))
  90         332  
1052             {
1053 0 0       0 Parse::RecDescent::_trace(q{<>},
1054             Parse::RecDescent::_tracefirst($text),
1055             q{value_zero_list},
1056             $tracelevel)
1057             if defined $::RD_TRACE;
1058 0         0 last;
1059             }
1060 45 50       849 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [value]<< (}
1061             . @$_tok . q{ times)},
1062              
1063             Parse::RecDescent::_tracefirst($text),
1064             q{value_zero_list},
1065             $tracelevel)
1066             if defined $::RD_TRACE;
1067 45         125 $item{q{value(s?)}} = $_tok;
1068 45         86 push @item, $_tok;
1069            
1070              
1071              
1072 45 50       178 Parse::RecDescent::_trace(q{Trying action},
1073             Parse::RecDescent::_tracefirst($text),
1074             q{value_zero_list},
1075             $tracelevel)
1076             if defined $::RD_TRACE;
1077            
1078              
1079 45 50       130 $_tok = ($_noactions) ? 0 : do { new Config::Maker::Value::List($item[1]); };
  45         624  
1080 45 50       162 unless (defined $_tok)
1081             {
1082 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
1083             if defined $::RD_TRACE;
1084 0         0 last;
1085             }
1086 45 50       117 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1087             . $_tok . q{])},
1088             Parse::RecDescent::_tracefirst($text))
1089             if defined $::RD_TRACE;
1090 45         90 push @item, $_tok;
1091 45         107 $item{__ACTION1__}=$_tok;
1092            
1093              
1094 45 50       130 Parse::RecDescent::_trace(q{>>Matched production: [value]<<},
1095             Parse::RecDescent::_tracefirst($text),
1096             q{value_zero_list},
1097             $tracelevel)
1098             if defined $::RD_TRACE;
1099              
1100              
1101              
1102 45         73 $_matched = 1;
1103 45         96 last;
1104             }
1105              
1106              
1107 45         173 while (!$_matched)
1108             {
1109            
1110 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
1111             Parse::RecDescent::_tracefirst($_[1]),
1112             q{value_zero_list},
1113             $tracelevel)
1114             if defined $::RD_TRACE;
1115 0         0 my $thisprod = $thisrule->{"prods"}[1];
1116            
1117 0         0 my $_savetext;
1118 0         0 @item = (q{value_zero_list});
1119 0         0 %item = (__RULE__ => q{value_zero_list});
1120 0         0 my $repcount = 0;
1121              
1122              
1123            
1124              
1125 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
1126             Parse::RecDescent::_tracefirst($text),
1127             q{value_zero_list},
1128             $tracelevel)
1129             if defined $::RD_TRACE;
1130 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
1131 0         0 my $rule = $item[0];
1132 0         0 $rule =~ s/_/ /g;
1133             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
1134 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
1135 0         0 } unless $_noactions; undef } else {0} };
1136 0 0       0 if (defined($_tok))
1137             {
1138 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
1139             . $_tok . q{])},
1140             Parse::RecDescent::_tracefirst($text))
1141             if defined $::RD_TRACE;
1142             }
1143             else
1144             {
1145 0 0       0 Parse::RecDescent::_trace(q{<>},
1146             Parse::RecDescent::_tracefirst($text))
1147             if defined $::RD_TRACE;
1148             }
1149            
1150 0 0       0 last unless defined $_tok;
1151 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
1152            
1153              
1154 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
1155             Parse::RecDescent::_tracefirst($text),
1156             q{value_zero_list},
1157             $tracelevel)
1158             if defined $::RD_TRACE;
1159              
1160              
1161              
1162 0         0 $_matched = 1;
1163 0         0 last;
1164             }
1165              
1166              
1167 45 50 33     215 unless ( $_matched || defined($score) )
1168             {
1169            
1170              
1171 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
1172 0 0       0 Parse::RecDescent::_trace(q{<>},
1173             Parse::RecDescent::_tracefirst($_[1]),
1174             q{value_zero_list},
1175             $tracelevel)
1176             if defined $::RD_TRACE;
1177 0         0 return undef;
1178             }
1179 45 50 33     336 if (!defined($return) && defined($score))
1180             {
1181 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1182             q{value_zero_list},
1183             $tracelevel)
1184             if defined $::RD_TRACE;
1185 0         0 $return = $score_return;
1186             }
1187 45         83 splice @{$thisparser->{errors}}, $err_at;
  45         194  
1188 45 50       194 $return = $item[$#item] unless defined $return;
1189 45 50       166 if (defined $::RD_TRACE)
1190             {
1191 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1192             $return . q{])}, "",
1193             q{value_zero_list},
1194             $tracelevel);
1195 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1196             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1197             Parse::RecDescent::_tracefirst($text),
1198             , q{value_zero_list},
1199             $tracelevel)
1200             }
1201 45         100 $_[1] = $text;
1202 45         398 return $return;
1203             }
1204              
1205             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
1206             sub Parse::RecDescent::Config::Maker::Grammar::decint
1207             {
1208 53     53   222 my $thisparser = $_[0];
1209 9     9   89 use vars q{$tracelevel};
  9         19  
  9         28737  
1210 53   50     810 local $tracelevel = ($tracelevel||0)+1;
1211 53         123 $ERRORS = 0;
1212 53         121 my $thisrule = $thisparser->{"rules"}{"decint"};
1213              
1214 53 50       126 Parse::RecDescent::_trace(q{Trying rule: [decint]},
1215             Parse::RecDescent::_tracefirst($_[1]),
1216             q{decint},
1217             $tracelevel)
1218             if defined $::RD_TRACE;
1219              
1220            
1221 53         71 my $err_at = @{$thisparser->{errors}};
  53         104  
1222              
1223 53         86 my $score;
1224             my $score_return;
1225 0         0 my $_tok;
1226 53         148 my $return = undef;
1227 53         148 my $_matched=0;
1228 53         64 my $commit=0;
1229 53         137 my @item = ();
1230 53         533 my %item = ();
1231 53         88 my $repeating = $_[2];
1232 53         65 my $_noactions = $_[3];
1233 53 50       116 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  53         60  
  53         105  
1234 53         186 my $_itempos = $_[5];
1235 53 50       366 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1236 53         190 my $text;
1237             my $lastsep;
1238 0         0 my $current_match;
1239 53         290 my $expectation = new Parse::RecDescent::Expectation(q{/[+-]\\d+/, or /[1-9]\\d*|0/});
1240 53         523 $expectation->at($_[1]);
1241            
1242 53         245 my $thisline;
1243 53         290 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1244              
1245            
1246              
1247 53   33     754 while (!$_matched && !$commit)
1248             {
1249            
1250 53 50       153 Parse::RecDescent::_trace(q{Trying production: [/[+-]\\d+/ ]},
1251             Parse::RecDescent::_tracefirst($_[1]),
1252             q{decint},
1253             $tracelevel)
1254             if defined $::RD_TRACE;
1255 53         276 my $thisprod = $thisrule->{"prods"}[0];
1256 53         100 $text = $_[1];
1257 53         90 my $_savetext;
1258 53         123 @item = (q{decint});
1259 53         315 %item = (__RULE__ => q{decint});
1260 53         71 my $repcount = 0;
1261              
1262              
1263 53 50       167 Parse::RecDescent::_trace(q{Trying terminal: [/[+-]\\d+/]}, Parse::RecDescent::_tracefirst($text),
1264             q{decint},
1265             $tracelevel)
1266             if defined $::RD_TRACE;
1267 53         79 undef $lastsep;
1268 53         265 $expectation->is(q{})->at($text);
1269            
1270              
1271 53 50 33     804 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[+-]\d+)/)
  53 50       862  
1272             {
1273 53 50       238 $text = $lastsep . $text if defined $lastsep;
1274 53         381 $expectation->failed();
1275 53 50       391 Parse::RecDescent::_trace(q{<>},
1276             Parse::RecDescent::_tracefirst($text))
1277             if defined $::RD_TRACE;
1278              
1279 53         471 last;
1280             }
1281 0         0 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1282 0         0 substr($text,0,length($current_match),q{});
1283 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1284             . $current_match . q{])},
1285             Parse::RecDescent::_tracefirst($text))
1286             if defined $::RD_TRACE;
1287 0         0 push @item, $item{__PATTERN1__}=$current_match;
1288            
1289              
1290            
1291              
1292 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
1293             Parse::RecDescent::_tracefirst($text),
1294             q{decint},
1295             $tracelevel)
1296             if defined $::RD_TRACE;
1297 0         0 $_tok = do { $commit = 1 };
  0         0  
1298 0 0       0 if (defined($_tok))
1299             {
1300 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
1301             . $_tok . q{])},
1302             Parse::RecDescent::_tracefirst($text))
1303             if defined $::RD_TRACE;
1304             }
1305             else
1306             {
1307 0 0       0 Parse::RecDescent::_trace(q{<>},
1308             Parse::RecDescent::_tracefirst($text))
1309             if defined $::RD_TRACE;
1310             }
1311            
1312 0 0       0 last unless defined $_tok;
1313 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
1314            
1315              
1316 0 0       0 Parse::RecDescent::_trace(q{Trying action},
1317             Parse::RecDescent::_tracefirst($text),
1318             q{decint},
1319             $tracelevel)
1320             if defined $::RD_TRACE;
1321            
1322              
1323 0 0       0 $_tok = ($_noactions) ? 0 : do { Config::Maker::limit(0 + $item[1], @arg); };
  0         0  
1324 0 0       0 unless (defined $_tok)
1325             {
1326 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
1327             if defined $::RD_TRACE;
1328 0         0 last;
1329             }
1330 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1331             . $_tok . q{])},
1332             Parse::RecDescent::_tracefirst($text))
1333             if defined $::RD_TRACE;
1334 0         0 push @item, $_tok;
1335 0         0 $item{__ACTION1__}=$_tok;
1336            
1337              
1338 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [/[+-]\\d+/ ]<<},
1339             Parse::RecDescent::_tracefirst($text),
1340             q{decint},
1341             $tracelevel)
1342             if defined $::RD_TRACE;
1343              
1344              
1345              
1346 0         0 $_matched = 1;
1347 0         0 last;
1348             }
1349              
1350              
1351 53   33     957 while (!$_matched && !$commit)
1352             {
1353            
1354 53 50       167 Parse::RecDescent::_trace(q{Trying production: [/[1-9]\\d*|0/ ]},
1355             Parse::RecDescent::_tracefirst($_[1]),
1356             q{decint},
1357             $tracelevel)
1358             if defined $::RD_TRACE;
1359 53         116 my $thisprod = $thisrule->{"prods"}[1];
1360 53         190 $text = $_[1];
1361 53         65 my $_savetext;
1362 53         153 @item = (q{decint});
1363 53         190 %item = (__RULE__ => q{decint});
1364 53         150 my $repcount = 0;
1365              
1366              
1367 53 50       198 Parse::RecDescent::_trace(q{Trying terminal: [/[1-9]\\d*|0/]}, Parse::RecDescent::_tracefirst($text),
1368             q{decint},
1369             $tracelevel)
1370             if defined $::RD_TRACE;
1371 53         71 undef $lastsep;
1372 53         187 $expectation->is(q{})->at($text);
1373            
1374              
1375 53 50 33     765 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[1-9]\d*|0)/)
  53 50       955  
1376             {
1377 0 0       0 $text = $lastsep . $text if defined $lastsep;
1378 0         0 $expectation->failed();
1379 0 0       0 Parse::RecDescent::_trace(q{<>},
1380             Parse::RecDescent::_tracefirst($text))
1381             if defined $::RD_TRACE;
1382              
1383 0         0 last;
1384             }
1385 53         595 $current_match = substr($text, $-[0], $+[0] - $-[0]);
1386 53         258 substr($text,0,length($current_match),q{});
1387 53 50       132 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1388             . $current_match . q{])},
1389             Parse::RecDescent::_tracefirst($text))
1390             if defined $::RD_TRACE;
1391 53         361 push @item, $item{__PATTERN1__}=$current_match;
1392            
1393              
1394            
1395              
1396 53 50       147 Parse::RecDescent::_trace(q{Trying directive: []},
1397             Parse::RecDescent::_tracefirst($text),
1398             q{decint},
1399             $tracelevel)
1400             if defined $::RD_TRACE;
1401 53         68 $_tok = do { $commit = 1 };
  53         280  
1402 53 50       8612 if (defined($_tok))
1403             {
1404 53 50       130 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
1405             . $_tok . q{])},
1406             Parse::RecDescent::_tracefirst($text))
1407             if defined $::RD_TRACE;
1408             }
1409             else
1410             {
1411 0 0       0 Parse::RecDescent::_trace(q{<>},
1412             Parse::RecDescent::_tracefirst($text))
1413             if defined $::RD_TRACE;
1414             }
1415            
1416 53 50       339 last unless defined $_tok;
1417 53         124 push @item, $item{__DIRECTIVE1__}=$_tok;
1418            
1419              
1420 53 50       121 Parse::RecDescent::_trace(q{Trying action},
1421             Parse::RecDescent::_tracefirst($text),
1422             q{decint},
1423             $tracelevel)
1424             if defined $::RD_TRACE;
1425            
1426              
1427 53 50       145 $_tok = ($_noactions) ? 0 : do { Config::Maker::limit(0 + $item[1], @arg); };
  53         328  
1428 53 50       207 unless (defined $_tok)
1429             {
1430 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
1431             if defined $::RD_TRACE;
1432 0         0 last;
1433             }
1434 53 50       120 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1435             . $_tok . q{])},
1436             Parse::RecDescent::_tracefirst($text))
1437             if defined $::RD_TRACE;
1438 53         160 push @item, $_tok;
1439 53         103 $item{__ACTION1__}=$_tok;
1440            
1441              
1442 53 50       260 Parse::RecDescent::_trace(q{>>Matched production: [/[1-9]\\d*|0/ ]<<},
1443             Parse::RecDescent::_tracefirst($text),
1444             q{decint},
1445             $tracelevel)
1446             if defined $::RD_TRACE;
1447              
1448              
1449              
1450 53         60 $_matched = 1;
1451 53         129 last;
1452             }
1453              
1454              
1455 53         175 while (!$_matched)
1456             {
1457            
1458 0 0       0 Parse::RecDescent::_trace(q{Trying production: [ ]},
1459             Parse::RecDescent::_tracefirst($_[1]),
1460             q{decint},
1461             $tracelevel)
1462             if defined $::RD_TRACE;
1463 0         0 my $thisprod = $thisrule->{"prods"}[2];
1464            
1465 0         0 my $_savetext;
1466 0         0 @item = (q{decint});
1467 0         0 %item = (__RULE__ => q{decint});
1468 0         0 my $repcount = 0;
1469              
1470              
1471            
1472              
1473 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
1474             Parse::RecDescent::_tracefirst($text),
1475             q{decint},
1476             $tracelevel)
1477             if defined $::RD_TRACE;
1478 0 0       0 $_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{ Number $item[1] out of range},$thisline];} unless $_noactions; undef } else {0} };
  0 0       0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
1479 0 0       0 if (defined($_tok))
1480             {
1481 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
1482             . $_tok . q{])},
1483             Parse::RecDescent::_tracefirst($text))
1484             if defined $::RD_TRACE;
1485             }
1486             else
1487             {
1488 0 0       0 Parse::RecDescent::_trace(q{<>},
1489             Parse::RecDescent::_tracefirst($text))
1490             if defined $::RD_TRACE;
1491             }
1492            
1493 0 0       0 last unless defined $_tok;
1494 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
1495            
1496              
1497 0 0       0 Parse::RecDescent::_trace(q{>>Rejecting production<< (found )},
1498             Parse::RecDescent::_tracefirst($text),
1499             q{decint},
1500             $tracelevel)
1501             if defined $::RD_TRACE;
1502 0         0 undef $return;
1503            
1504              
1505 0         0 $_tok = undef;
1506            
1507 0 0       0 last unless defined $_tok;
1508              
1509 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
1510             Parse::RecDescent::_tracefirst($text),
1511             q{decint},
1512             $tracelevel)
1513             if defined $::RD_TRACE;
1514              
1515              
1516              
1517 0         0 $_matched = 1;
1518 0         0 last;
1519             }
1520              
1521              
1522 53 50 33     254 unless ( $_matched || defined($score) )
1523             {
1524            
1525              
1526 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
1527 0 0       0 Parse::RecDescent::_trace(q{<>},
1528             Parse::RecDescent::_tracefirst($_[1]),
1529             q{decint},
1530             $tracelevel)
1531             if defined $::RD_TRACE;
1532 0         0 return undef;
1533             }
1534 53 50 33     1923 if (!defined($return) && defined($score))
1535             {
1536 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1537             q{decint},
1538             $tracelevel)
1539             if defined $::RD_TRACE;
1540 0         0 $return = $score_return;
1541             }
1542 53         68 splice @{$thisparser->{errors}}, $err_at;
  53         196  
1543 53 50       218 $return = $item[$#item] unless defined $return;
1544 53 50       124 if (defined $::RD_TRACE)
1545             {
1546 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1547             $return . q{])}, "",
1548             q{decint},
1549             $tracelevel);
1550 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1551             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1552             Parse::RecDescent::_tracefirst($text),
1553             , q{decint},
1554             $tracelevel)
1555             }
1556 53         108 $_[1] = $text;
1557 53         815 return $return;
1558             }
1559              
1560             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
1561             sub Parse::RecDescent::Config::Maker::Grammar::type
1562             {
1563 1025     1025   1762 my $thisparser = $_[0];
1564 9     9   92 use vars q{$tracelevel};
  9         21  
  9         3872  
1565 1025   50     3195 local $tracelevel = ($tracelevel||0)+1;
1566 1025         1366 $ERRORS = 0;
1567 1025         3759 my $thisrule = $thisparser->{"rules"}{"type"};
1568              
1569 1025 50       2879 Parse::RecDescent::_trace(q{Trying rule: [type]},
1570             Parse::RecDescent::_tracefirst($_[1]),
1571             q{type},
1572             $tracelevel)
1573             if defined $::RD_TRACE;
1574              
1575            
1576 1025         1365 my $err_at = @{$thisparser->{errors}};
  1025         2099  
1577              
1578 1025         1446 my $score;
1579             my $score_return;
1580 0         0 my $_tok;
1581 1025         1252 my $return = undef;
1582 1025         1224 my $_matched=0;
1583 1025         1405 my $commit=0;
1584 1025         2537 my @item = ();
1585 1025         1651 my %item = ();
1586 1025         1309 my $repeating = $_[2];
1587 1025         1410 my $_noactions = $_[3];
1588 1025 50       2203 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  1025         1499  
  1025         2178  
1589 1025         2664 my $_itempos = $_[5];
1590 1025 50       6397 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1591 1025         1723 my $text;
1592             my $lastsep;
1593 0         0 my $current_match;
1594 1025         3805 my $expectation = new Parse::RecDescent::Expectation(q{identifier});
1595 1025         9175 $expectation->at($_[1]);
1596            
1597 1025         4504 my $thisline;
1598 1025         5406 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1599              
1600            
1601              
1602 1025   33     14323 while (!$_matched && !$commit)
1603             {
1604            
1605 1025 50       2919 Parse::RecDescent::_trace(q{Trying production: [identifier ]},
1606             Parse::RecDescent::_tracefirst($_[1]),
1607             q{type},
1608             $tracelevel)
1609             if defined $::RD_TRACE;
1610 1025         2644 my $thisprod = $thisrule->{"prods"}[0];
1611 1025         1681 $text = $_[1];
1612 1025         1582 my $_savetext;
1613 1025         2354 @item = (q{type});
1614 1025         2243 %item = (__RULE__ => q{type});
1615 1025         1369 my $repcount = 0;
1616              
1617              
1618 1025 50       4107 Parse::RecDescent::_trace(q{Trying subrule: [identifier]},
1619             Parse::RecDescent::_tracefirst($text),
1620             q{type},
1621             $tracelevel)
1622             if defined $::RD_TRACE;
1623 9     9   57 if (1) { no strict qw{refs};
  9         20  
  9         11250  
  1025         1271  
1624 1025         3604 $expectation->is(q{})->at($text);
1625 1025 100   1025   19416 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  1025         2654  
1626             {
1627            
1628 336 50       2936 Parse::RecDescent::_trace(q{<>},
1629             Parse::RecDescent::_tracefirst($text),
1630             q{type},
1631             $tracelevel)
1632             if defined $::RD_TRACE;
1633 336         1263 $expectation->failed();
1634 336         1569 last;
1635             }
1636 689 50       7093 Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [}
1637             . $_tok . q{]},
1638              
1639             Parse::RecDescent::_tracefirst($text),
1640             q{type},
1641             $tracelevel)
1642             if defined $::RD_TRACE;
1643 689         1763 $item{q{identifier}} = $_tok;
1644 689         1319 push @item, $_tok;
1645            
1646             }
1647              
1648            
1649              
1650 689 50       1661 Parse::RecDescent::_trace(q{Trying directive: []},
1651             Parse::RecDescent::_tracefirst($text),
1652             q{type},
1653             $tracelevel)
1654             if defined $::RD_TRACE;
1655 689         1183 $_tok = do { $commit = 1 };
  689         1503  
1656 689 50       2313 if (defined($_tok))
1657             {
1658 689 50       1687 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
1659             . $_tok . q{])},
1660             Parse::RecDescent::_tracefirst($text))
1661             if defined $::RD_TRACE;
1662             }
1663             else
1664             {
1665 0 0       0 Parse::RecDescent::_trace(q{<>},
1666             Parse::RecDescent::_tracefirst($text))
1667             if defined $::RD_TRACE;
1668             }
1669            
1670 689 50       1909 last unless defined $_tok;
1671 689         2429 push @item, $item{__DIRECTIVE1__}=$_tok;
1672            
1673              
1674 689 50       2064 Parse::RecDescent::_trace(q{Trying action},
1675             Parse::RecDescent::_tracefirst($text),
1676             q{type},
1677             $tracelevel)
1678             if defined $::RD_TRACE;
1679            
1680              
1681 689 50       1255 $_tok = ($_noactions) ? 0 : do { eval { $arg[0]->get($item[1]); } };
  689         1117  
  689         10064  
1682 689 50       2230 unless (defined $_tok)
1683             {
1684 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
1685             if defined $::RD_TRACE;
1686 0         0 last;
1687             }
1688 689 50       2554 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1689             . $_tok . q{])},
1690             Parse::RecDescent::_tracefirst($text))
1691             if defined $::RD_TRACE;
1692 689         1186 push @item, $_tok;
1693 689         1758 $item{__ACTION1__}=$_tok;
1694            
1695              
1696 689 50       1589 Parse::RecDescent::_trace(q{>>Matched production: [identifier ]<<},
1697             Parse::RecDescent::_tracefirst($text),
1698             q{type},
1699             $tracelevel)
1700             if defined $::RD_TRACE;
1701              
1702              
1703              
1704 689         826 $_matched = 1;
1705 689         6226 last;
1706             }
1707              
1708              
1709 1025         3732 while (!$_matched)
1710             {
1711            
1712 336 50       884 Parse::RecDescent::_trace(q{Trying production: [ ]},
1713             Parse::RecDescent::_tracefirst($_[1]),
1714             q{type},
1715             $tracelevel)
1716             if defined $::RD_TRACE;
1717 336         821 my $thisprod = $thisrule->{"prods"}[1];
1718            
1719 336         481 my $_savetext;
1720 336         824 @item = (q{type});
1721 336         990 %item = (__RULE__ => q{type});
1722 336         510 my $repcount = 0;
1723              
1724              
1725            
1726              
1727 336 50       919 Parse::RecDescent::_trace(q{Trying directive: []},
1728             Parse::RecDescent::_tracefirst($text),
1729             q{type},
1730             $tracelevel)
1731             if defined $::RD_TRACE;
1732 336 0       428 $_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{ $@},$thisline];} unless $_noactions; undef } else {0} };
  336 50       2962  
  0         0  
  0         0  
  0         0  
  0         0  
  336         1186  
1733 336 50       963 if (defined($_tok))
1734             {
1735 336 50       797 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
1736             . $_tok . q{])},
1737             Parse::RecDescent::_tracefirst($text))
1738             if defined $::RD_TRACE;
1739             }
1740             else
1741             {
1742 0 0       0 Parse::RecDescent::_trace(q{<>},
1743             Parse::RecDescent::_tracefirst($text))
1744             if defined $::RD_TRACE;
1745             }
1746            
1747 336 50       778 last unless defined $_tok;
1748 336         866 push @item, $item{__DIRECTIVE1__}=$_tok;
1749            
1750              
1751 336 50       1937 Parse::RecDescent::_trace(q{>>Rejecting production<< (found )},
1752             Parse::RecDescent::_tracefirst($text),
1753             q{type},
1754             $tracelevel)
1755             if defined $::RD_TRACE;
1756 336         457 undef $return;
1757            
1758              
1759 336         485 $_tok = undef;
1760            
1761 336 50       1176 last unless defined $_tok;
1762              
1763 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
1764             Parse::RecDescent::_tracefirst($text),
1765             q{type},
1766             $tracelevel)
1767             if defined $::RD_TRACE;
1768              
1769              
1770              
1771 0         0 $_matched = 1;
1772 0         0 last;
1773             }
1774              
1775              
1776 1025 100 66     3875 unless ( $_matched || defined($score) )
1777             {
1778            
1779              
1780 336         596 $_[1] = $text; # NOT SURE THIS IS NEEDED
1781 336 50       930 Parse::RecDescent::_trace(q{<>},
1782             Parse::RecDescent::_tracefirst($_[1]),
1783             q{type},
1784             $tracelevel)
1785             if defined $::RD_TRACE;
1786 336         2858 return undef;
1787             }
1788 689 50 33     3498 if (!defined($return) && defined($score))
1789             {
1790 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1791             q{type},
1792             $tracelevel)
1793             if defined $::RD_TRACE;
1794 0         0 $return = $score_return;
1795             }
1796 689         1167 splice @{$thisparser->{errors}}, $err_at;
  689         1742  
1797 689 50       1980 $return = $item[$#item] unless defined $return;
1798 689 50       2516 if (defined $::RD_TRACE)
1799             {
1800 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1801             $return . q{])}, "",
1802             q{type},
1803             $tracelevel);
1804 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1805             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1806             Parse::RecDescent::_tracefirst($text),
1807             , q{type},
1808             $tracelevel)
1809             }
1810 689         1433 $_[1] = $text;
1811 689         7351 return $return;
1812             }
1813              
1814             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
1815             sub Parse::RecDescent::Config::Maker::Grammar::path_whole
1816             {
1817 269     269   19422 my $thisparser = $_[0];
1818 9     9   63 use vars q{$tracelevel};
  9         19  
  9         5090  
1819 269   100     1528 local $tracelevel = ($tracelevel||0)+1;
1820 269         419 $ERRORS = 0;
1821 269         757 my $thisrule = $thisparser->{"rules"}{"path_whole"};
1822              
1823 269 50       683 Parse::RecDescent::_trace(q{Trying rule: [path_whole]},
1824             Parse::RecDescent::_tracefirst($_[1]),
1825             q{path_whole},
1826             $tracelevel)
1827             if defined $::RD_TRACE;
1828              
1829            
1830 269         1790 my $err_at = @{$thisparser->{errors}};
  269         2408  
1831              
1832 269         421 my $score;
1833             my $score_return;
1834 0         0 my $_tok;
1835 269         376 my $return = undef;
1836 269         360 my $_matched=0;
1837 269         454 my $commit=0;
1838 269         658 my @item = ();
1839 269         477 my %item = ();
1840 269         1048 my $repeating = $_[2];
1841 269         602 my $_noactions = $_[3];
1842 269 50       707 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  269         359  
  269         945  
1843 269         1539 my $_itempos = $_[5];
1844 269 50       819 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1845 269         408 my $text;
1846             my $lastsep;
1847 0         0 my $current_match;
1848 269         1788 my $expectation = new Parse::RecDescent::Expectation(q{});
1849 269         2888 $expectation->at($_[1]);
1850            
1851 269         1254 my $thisline;
1852 269         1826 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1853              
1854            
1855              
1856 269   33     3202 while (!$_matched && !$commit)
1857             {
1858 269 50       756 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
1859 269 50       754 Parse::RecDescent::_trace(q{Trying production: [ path eof]},
1860             Parse::RecDescent::_tracefirst($_[1]),
1861             q{path_whole},
1862             $tracelevel)
1863             if defined $::RD_TRACE;
1864 269         909 my $thisprod = $thisrule->{"prods"}[0];
1865 269         457 $text = $_[1];
1866 269         388 my $_savetext;
1867 269         986 @item = (q{path_whole});
1868 269         882 %item = (__RULE__ => q{path_whole});
1869 269         399 my $repcount = 0;
1870              
1871              
1872            
1873              
1874 269 50       880 Parse::RecDescent::_trace(q{Trying directive: []},
1875             Parse::RecDescent::_tracefirst($text),
1876             q{path_whole},
1877             $tracelevel)
1878             if defined $::RD_TRACE;
1879 269         371 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  269         442  
  269         1220  
  269         588  
1880 269 50       675 if (defined($_tok))
1881             {
1882 269 50       737 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
1883             . $_tok . q{])},
1884             Parse::RecDescent::_tracefirst($text))
1885             if defined $::RD_TRACE;
1886             }
1887             else
1888             {
1889 0 0       0 Parse::RecDescent::_trace(q{<>},
1890             Parse::RecDescent::_tracefirst($text))
1891             if defined $::RD_TRACE;
1892             }
1893            
1894 269 50       600 last unless defined $_tok;
1895 269         2132 push @item, $item{__DIRECTIVE1__}=$_tok;
1896            
1897              
1898 269 50       746 Parse::RecDescent::_trace(q{Trying subrule: [path]},
1899             Parse::RecDescent::_tracefirst($text),
1900             q{path_whole},
1901             $tracelevel)
1902             if defined $::RD_TRACE;
1903 9     9   71 if (1) { no strict qw{refs};
  9         22  
  9         2388  
  269         635  
1904 269         856 $expectation->is(q{path})->at($text);
1905 269 50   269   3318 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::path($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  269         821  
1906             {
1907            
1908 0 0       0 Parse::RecDescent::_trace(q{<>},
1909             Parse::RecDescent::_tracefirst($text),
1910             q{path_whole},
1911             $tracelevel)
1912             if defined $::RD_TRACE;
1913 0         0 $expectation->failed();
1914 0         0 last;
1915             }
1916 269 50       1283 Parse::RecDescent::_trace(q{>>Matched subrule: [path]<< (return value: [}
1917             . $_tok . q{]},
1918              
1919             Parse::RecDescent::_tracefirst($text),
1920             q{path_whole},
1921             $tracelevel)
1922             if defined $::RD_TRACE;
1923 269         909 $item{q{path}} = $_tok;
1924 269         571 push @item, $_tok;
1925            
1926             }
1927              
1928 269 50       614 Parse::RecDescent::_trace(q{Trying subrule: [eof]},
1929             Parse::RecDescent::_tracefirst($text),
1930             q{path_whole},
1931             $tracelevel)
1932             if defined $::RD_TRACE;
1933 9     9   52 if (1) { no strict qw{refs};
  9         18  
  9         6365  
  269         331  
1934 269         1071 $expectation->is(q{eof})->at($text);
1935 269 50   269   4175 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::eof($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  269         596  
1936             {
1937            
1938 0 0       0 Parse::RecDescent::_trace(q{<>},
1939             Parse::RecDescent::_tracefirst($text),
1940             q{path_whole},
1941             $tracelevel)
1942             if defined $::RD_TRACE;
1943 0         0 $expectation->failed();
1944 0         0 last;
1945             }
1946 269 50       1893 Parse::RecDescent::_trace(q{>>Matched subrule: [eof]<< (return value: [}
1947             . $_tok . q{]},
1948              
1949             Parse::RecDescent::_tracefirst($text),
1950             q{path_whole},
1951             $tracelevel)
1952             if defined $::RD_TRACE;
1953 269         701 $item{q{eof}} = $_tok;
1954 269         840 push @item, $_tok;
1955            
1956             }
1957              
1958 269 50       769 Parse::RecDescent::_trace(q{Trying action},
1959             Parse::RecDescent::_tracefirst($text),
1960             q{path_whole},
1961             $tracelevel)
1962             if defined $::RD_TRACE;
1963            
1964              
1965 269 50       664 $_tok = ($_noactions) ? 0 : do { $item{path}; };
  269         660  
1966 269 50       698 unless (defined $_tok)
1967             {
1968 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
1969             if defined $::RD_TRACE;
1970 0         0 last;
1971             }
1972 269 50       650 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1973             . $_tok . q{])},
1974             Parse::RecDescent::_tracefirst($text))
1975             if defined $::RD_TRACE;
1976 269         1051 push @item, $_tok;
1977 269         1460 $item{__ACTION1__}=$_tok;
1978            
1979              
1980 269 50       536 Parse::RecDescent::_trace(q{>>Matched production: [ path eof]<<},
1981             Parse::RecDescent::_tracefirst($text),
1982             q{path_whole},
1983             $tracelevel)
1984             if defined $::RD_TRACE;
1985              
1986              
1987              
1988 269         342 $_matched = 1;
1989 269         769 last;
1990             }
1991              
1992              
1993 269 50 33     712 unless ( $_matched || defined($score) )
1994             {
1995            
1996              
1997 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
1998 0 0       0 Parse::RecDescent::_trace(q{<>},
1999             Parse::RecDescent::_tracefirst($_[1]),
2000             q{path_whole},
2001             $tracelevel)
2002             if defined $::RD_TRACE;
2003 0         0 return undef;
2004             }
2005 269 50 33     1963 if (!defined($return) && defined($score))
2006             {
2007 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2008             q{path_whole},
2009             $tracelevel)
2010             if defined $::RD_TRACE;
2011 0         0 $return = $score_return;
2012             }
2013 269         472 splice @{$thisparser->{errors}}, $err_at;
  269         614  
2014 269 50       752 $return = $item[$#item] unless defined $return;
2015 269 50       1003 if (defined $::RD_TRACE)
2016             {
2017 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2018             $return . q{])}, "",
2019             q{path_whole},
2020             $tracelevel);
2021 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2022             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2023             Parse::RecDescent::_tracefirst($text),
2024             , q{path_whole},
2025             $tracelevel)
2026             }
2027 269         467 $_[1] = $text;
2028 269         2958 return $return;
2029             }
2030              
2031             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2032             sub Parse::RecDescent::Config::Maker::Grammar::value_string
2033             {
2034 335     335   3730 my $thisparser = $_[0];
2035 9     9   55 use vars q{$tracelevel};
  9         18  
  9         4076  
2036 335   50     1085 local $tracelevel = ($tracelevel||0)+1;
2037 335         450 $ERRORS = 0;
2038 335         957 my $thisrule = $thisparser->{"rules"}{"value_string"};
2039              
2040 335 50       830 Parse::RecDescent::_trace(q{Trying rule: [value_string]},
2041             Parse::RecDescent::_tracefirst($_[1]),
2042             q{value_string},
2043             $tracelevel)
2044             if defined $::RD_TRACE;
2045              
2046            
2047 335         407 my $err_at = @{$thisparser->{errors}};
  335         892  
2048              
2049 335         504 my $score;
2050             my $score_return;
2051 0         0 my $_tok;
2052 335         617 my $return = undef;
2053 335         423 my $_matched=0;
2054 335         453 my $commit=0;
2055 335         622 my @item = ();
2056 335         516 my %item = ();
2057 335         771 my $repeating = $_[2];
2058 335         9166 my $_noactions = $_[3];
2059 335 50       767 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  335         401  
  335         649  
2060 335         679 my $_itempos = $_[5];
2061 335 50       965 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2062 335         529 my $text;
2063             my $lastsep;
2064 0         0 my $current_match;
2065 335         1558 my $expectation = new Parse::RecDescent::Expectation(q{literal});
2066 335         3107 $expectation->at($_[1]);
2067            
2068 335         1371 my $thisline;
2069 335         1574 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2070              
2071            
2072              
2073 335   33     3679 while (!$_matched && !$commit)
2074             {
2075            
2076 335 50       896 Parse::RecDescent::_trace(q{Trying production: [literal]},
2077             Parse::RecDescent::_tracefirst($_[1]),
2078             q{value_string},
2079             $tracelevel)
2080             if defined $::RD_TRACE;
2081 335         1171 my $thisprod = $thisrule->{"prods"}[0];
2082 335         561 $text = $_[1];
2083 335         460 my $_savetext;
2084 335         711 @item = (q{value_string});
2085 335         784 %item = (__RULE__ => q{value_string});
2086 335         438 my $repcount = 0;
2087              
2088              
2089 335 50       787 Parse::RecDescent::_trace(q{Trying subrule: [literal]},
2090             Parse::RecDescent::_tracefirst($text),
2091             q{value_string},
2092             $tracelevel)
2093             if defined $::RD_TRACE;
2094 9     9   55 if (1) { no strict qw{refs};
  9         17  
  9         8557  
  335         429  
2095 335         1404 $expectation->is(q{})->at($text);
2096 335 100   335   8792 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::literal($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  335         768  
2097             {
2098            
2099 68 50       228 Parse::RecDescent::_trace(q{<>},
2100             Parse::RecDescent::_tracefirst($text),
2101             q{value_string},
2102             $tracelevel)
2103             if defined $::RD_TRACE;
2104 68         249 $expectation->failed();
2105 68         303 last;
2106             }
2107 267 50       1669 Parse::RecDescent::_trace(q{>>Matched subrule: [literal]<< (return value: [}
2108             . $_tok . q{]},
2109              
2110             Parse::RecDescent::_tracefirst($text),
2111             q{value_string},
2112             $tracelevel)
2113             if defined $::RD_TRACE;
2114 267         598 $item{q{literal}} = $_tok;
2115 267         489 push @item, $_tok;
2116            
2117             }
2118              
2119 267 50       692 Parse::RecDescent::_trace(q{>>Matched production: [literal]<<},
2120             Parse::RecDescent::_tracefirst($text),
2121             q{value_string},
2122             $tracelevel)
2123             if defined $::RD_TRACE;
2124              
2125              
2126              
2127 267         407 $_matched = 1;
2128 267         481 last;
2129             }
2130              
2131              
2132 335         1060 while (!$_matched)
2133             {
2134            
2135 68 50       270 Parse::RecDescent::_trace(q{Trying production: []},
2136             Parse::RecDescent::_tracefirst($_[1]),
2137             q{value_string},
2138             $tracelevel)
2139             if defined $::RD_TRACE;
2140 68         494 my $thisprod = $thisrule->{"prods"}[1];
2141            
2142 68         118 my $_savetext;
2143 68         176 @item = (q{value_string});
2144 68         193 %item = (__RULE__ => q{value_string});
2145 68         112 my $repcount = 0;
2146              
2147              
2148            
2149              
2150 68 50       205 Parse::RecDescent::_trace(q{Trying directive: []},
2151             Parse::RecDescent::_tracefirst($text),
2152             q{value_string},
2153             $tracelevel)
2154             if defined $::RD_TRACE;
2155 68 50       88 $_tok = do { if (1) { do {
  68         102  
  68         216  
2156 68         141 my $rule = $item[0];
2157 68         308 $rule =~ s/_/ /g;
2158             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
2159 68         138 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  68         387  
2160 68         1699 } unless $_noactions; undef } else {0} };
2161 68 50       226 if (defined($_tok))
2162             {
2163 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
2164             . $_tok . q{])},
2165             Parse::RecDescent::_tracefirst($text))
2166             if defined $::RD_TRACE;
2167             }
2168             else
2169             {
2170 68 50       231 Parse::RecDescent::_trace(q{<>},
2171             Parse::RecDescent::_tracefirst($text))
2172             if defined $::RD_TRACE;
2173             }
2174            
2175 68 50       233 last unless defined $_tok;
2176 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
2177            
2178              
2179 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
2180             Parse::RecDescent::_tracefirst($text),
2181             q{value_string},
2182             $tracelevel)
2183             if defined $::RD_TRACE;
2184              
2185              
2186              
2187 0         0 $_matched = 1;
2188 0         0 last;
2189             }
2190              
2191              
2192 335 100 66     1715 unless ( $_matched || defined($score) )
2193             {
2194            
2195              
2196 68         169 $_[1] = $text; # NOT SURE THIS IS NEEDED
2197 68 50       183 Parse::RecDescent::_trace(q{<>},
2198             Parse::RecDescent::_tracefirst($_[1]),
2199             q{value_string},
2200             $tracelevel)
2201             if defined $::RD_TRACE;
2202 68         536 return undef;
2203             }
2204 267 50 33     5171 if (!defined($return) && defined($score))
2205             {
2206 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2207             q{value_string},
2208             $tracelevel)
2209             if defined $::RD_TRACE;
2210 0         0 $return = $score_return;
2211             }
2212 267         443 splice @{$thisparser->{errors}}, $err_at;
  267         608  
2213 267 50       823 $return = $item[$#item] unless defined $return;
2214 267 50       718 if (defined $::RD_TRACE)
2215             {
2216 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2217             $return . q{])}, "",
2218             q{value_string},
2219             $tracelevel);
2220 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2221             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2222             Parse::RecDescent::_tracefirst($text),
2223             , q{value_string},
2224             $tracelevel)
2225             }
2226 267         589 $_[1] = $text;
2227 267         2202 return $return;
2228             }
2229              
2230             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2231             sub Parse::RecDescent::Config::Maker::Grammar::relpath
2232             {
2233 328     328   700 my $thisparser = $_[0];
2234 9     9   57 use vars q{$tracelevel};
  9         21  
  9         3680  
2235 328   50     1041 local $tracelevel = ($tracelevel||0)+1;
2236 328         553 $ERRORS = 0;
2237 328         1196 my $thisrule = $thisparser->{"rules"}{"relpath"};
2238              
2239 328 50       1188 Parse::RecDescent::_trace(q{Trying rule: [relpath]},
2240             Parse::RecDescent::_tracefirst($_[1]),
2241             q{relpath},
2242             $tracelevel)
2243             if defined $::RD_TRACE;
2244              
2245            
2246 328         415 my $err_at = @{$thisparser->{errors}};
  328         1725  
2247              
2248 328         495 my $score;
2249             my $score_return;
2250 0         0 my $_tok;
2251 328         446 my $return = undef;
2252 328         438 my $_matched=0;
2253 328         20562 my $commit=0;
2254 328         1225 my @item = ();
2255 328         565 my %item = ();
2256 328         497 my $repeating = $_[2];
2257 328         464 my $_noactions = $_[3];
2258 328 50       839 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  328         424  
  328         668  
2259 328         517 my $_itempos = $_[5];
2260 328 100       1079 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2261 328         504 my $text;
2262             my $lastsep;
2263 0         0 my $current_match;
2264 328         1223 my $expectation = new Parse::RecDescent::Expectation(q{nonglob, or pcomponent});
2265 328         3002 $expectation->at($_[1]);
2266            
2267 328         1910 my $thisline;
2268 328         1549 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2269              
2270            
2271              
2272 328   33     3662 while (!$_matched && !$commit)
2273             {
2274            
2275 328 50       1148 Parse::RecDescent::_trace(q{Trying production: [nonglob ptail]},
2276             Parse::RecDescent::_tracefirst($_[1]),
2277             q{relpath},
2278             $tracelevel)
2279             if defined $::RD_TRACE;
2280 328         1151 my $thisprod = $thisrule->{"prods"}[0];
2281 328         524 $text = $_[1];
2282 328         405 my $_savetext;
2283 328         677 @item = (q{relpath});
2284 328         751 %item = (__RULE__ => q{relpath});
2285 328         14498 my $repcount = 0;
2286              
2287              
2288 328 50       749 Parse::RecDescent::_trace(q{Trying subrule: [nonglob]},
2289             Parse::RecDescent::_tracefirst($text),
2290             q{relpath},
2291             $tracelevel)
2292             if defined $::RD_TRACE;
2293 9     9   51 if (1) { no strict qw{refs};
  9         23  
  9         2281  
  328         506  
2294 328         1027 $expectation->is(q{})->at($text);
2295 328 100   328   5211 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::nonglob($thisparser,$text,$repeating,$_noactions,sub { return ['**'] },undef)))
  328         1164  
2296             {
2297            
2298 317 50       708 Parse::RecDescent::_trace(q{<>},
2299             Parse::RecDescent::_tracefirst($text),
2300             q{relpath},
2301             $tracelevel)
2302             if defined $::RD_TRACE;
2303 317         1489 $expectation->failed();
2304 317         3285 last;
2305             }
2306 11 50       59 Parse::RecDescent::_trace(q{>>Matched subrule: [nonglob]<< (return value: [}
2307             . $_tok . q{]},
2308              
2309             Parse::RecDescent::_tracefirst($text),
2310             q{relpath},
2311             $tracelevel)
2312             if defined $::RD_TRACE;
2313 11         36 $item{q{nonglob}} = $_tok;
2314 11         26 push @item, $_tok;
2315            
2316             }
2317              
2318 11 50       38 Parse::RecDescent::_trace(q{Trying subrule: [ptail]},
2319             Parse::RecDescent::_tracefirst($text),
2320             q{relpath},
2321             $tracelevel)
2322             if defined $::RD_TRACE;
2323 9     9   48 if (1) { no strict qw{refs};
  9         20  
  9         5636  
  11         17  
2324 11         53 $expectation->is(q{ptail})->at($text);
2325 11 50   11   148 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::ptail($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  11         32  
2326             {
2327            
2328 0 0       0 Parse::RecDescent::_trace(q{<>},
2329             Parse::RecDescent::_tracefirst($text),
2330             q{relpath},
2331             $tracelevel)
2332             if defined $::RD_TRACE;
2333 0         0 $expectation->failed();
2334 0         0 last;
2335             }
2336 11 50       67 Parse::RecDescent::_trace(q{>>Matched subrule: [ptail]<< (return value: [}
2337             . $_tok . q{]},
2338              
2339             Parse::RecDescent::_tracefirst($text),
2340             q{relpath},
2341             $tracelevel)
2342             if defined $::RD_TRACE;
2343 11         30 $item{q{ptail}} = $_tok;
2344 11         26 push @item, $_tok;
2345            
2346             }
2347              
2348 11 50       46 Parse::RecDescent::_trace(q{Trying action},
2349             Parse::RecDescent::_tracefirst($text),
2350             q{relpath},
2351             $tracelevel)
2352             if defined $::RD_TRACE;
2353            
2354              
2355 11 50       32 $_tok = ($_noactions) ? 0 : do {
2356 11         18 new Config::Maker::Path::AnyPath(@{$item[-1]});
  11         131  
2357             };
2358 11 50       51 unless (defined $_tok)
2359             {
2360 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
2361             if defined $::RD_TRACE;
2362 0         0 last;
2363             }
2364 11 50       44 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
2365             . $_tok . q{])},
2366             Parse::RecDescent::_tracefirst($text))
2367             if defined $::RD_TRACE;
2368 11         21 push @item, $_tok;
2369 11         29 $item{__ACTION1__}=$_tok;
2370            
2371              
2372 11 50       45 Parse::RecDescent::_trace(q{>>Matched production: [nonglob ptail]<<},
2373             Parse::RecDescent::_tracefirst($text),
2374             q{relpath},
2375             $tracelevel)
2376             if defined $::RD_TRACE;
2377              
2378              
2379              
2380 11         20 $_matched = 1;
2381 11         28 last;
2382             }
2383              
2384              
2385 328   66     3815 while (!$_matched && !$commit)
2386             {
2387            
2388 317 50       772 Parse::RecDescent::_trace(q{Trying production: [nonglob ptail]},
2389             Parse::RecDescent::_tracefirst($_[1]),
2390             q{relpath},
2391             $tracelevel)
2392             if defined $::RD_TRACE;
2393 317         1586 my $thisprod = $thisrule->{"prods"}[1];
2394 317         566 $text = $_[1];
2395 317         443 my $_savetext;
2396 317         828 @item = (q{relpath});
2397 317         897 %item = (__RULE__ => q{relpath});
2398 317         975 my $repcount = 0;
2399              
2400              
2401 317 50       899 Parse::RecDescent::_trace(q{Trying subrule: [nonglob]},
2402             Parse::RecDescent::_tracefirst($text),
2403             q{relpath},
2404             $tracelevel)
2405             if defined $::RD_TRACE;
2406 9     9   55 if (1) { no strict qw{refs};
  9         23  
  9         1938  
  317         367  
2407 317         1173 $expectation->is(q{})->at($text);
2408 317 100   317   3978 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::nonglob($thisparser,$text,$repeating,$_noactions,sub { return ['..'] },undef)))
  317         2405  
2409             {
2410            
2411 316 50       777 Parse::RecDescent::_trace(q{<>},
2412             Parse::RecDescent::_tracefirst($text),
2413             q{relpath},
2414             $tracelevel)
2415             if defined $::RD_TRACE;
2416 316         1713 $expectation->failed();
2417 316         1396 last;
2418             }
2419 1 50       7 Parse::RecDescent::_trace(q{>>Matched subrule: [nonglob]<< (return value: [}
2420             . $_tok . q{]},
2421              
2422             Parse::RecDescent::_tracefirst($text),
2423             q{relpath},
2424             $tracelevel)
2425             if defined $::RD_TRACE;
2426 1         3 $item{q{nonglob}} = $_tok;
2427 1         3 push @item, $_tok;
2428            
2429             }
2430              
2431 1 50       4 Parse::RecDescent::_trace(q{Trying subrule: [ptail]},
2432             Parse::RecDescent::_tracefirst($text),
2433             q{relpath},
2434             $tracelevel)
2435             if defined $::RD_TRACE;
2436 9     9   45 if (1) { no strict qw{refs};
  9         16  
  9         4818  
  1         2  
2437 1         5 $expectation->is(q{ptail})->at($text);
2438 1 50   1   13 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::ptail($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  1         4  
2439             {
2440            
2441 0 0       0 Parse::RecDescent::_trace(q{<>},
2442             Parse::RecDescent::_tracefirst($text),
2443             q{relpath},
2444             $tracelevel)
2445             if defined $::RD_TRACE;
2446 0         0 $expectation->failed();
2447 0         0 last;
2448             }
2449 1 50       5 Parse::RecDescent::_trace(q{>>Matched subrule: [ptail]<< (return value: [}
2450             . $_tok . q{]},
2451              
2452             Parse::RecDescent::_tracefirst($text),
2453             q{relpath},
2454             $tracelevel)
2455             if defined $::RD_TRACE;
2456 1         2 $item{q{ptail}} = $_tok;
2457 1         3 push @item, $_tok;
2458            
2459             }
2460              
2461 1 50       3 Parse::RecDescent::_trace(q{Trying action},
2462             Parse::RecDescent::_tracefirst($text),
2463             q{relpath},
2464             $tracelevel)
2465             if defined $::RD_TRACE;
2466            
2467              
2468 1 50       4 $_tok = ($_noactions) ? 0 : do {
2469 1         2 new Config::Maker::Path::Parent(@{$item[-1]});
  1         14  
2470             };
2471 1 50       4 unless (defined $_tok)
2472             {
2473 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
2474             if defined $::RD_TRACE;
2475 0         0 last;
2476             }
2477 1 50       5 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
2478             . $_tok . q{])},
2479             Parse::RecDescent::_tracefirst($text))
2480             if defined $::RD_TRACE;
2481 1         2 push @item, $_tok;
2482 1         3 $item{__ACTION1__}=$_tok;
2483            
2484              
2485 1 50       3 Parse::RecDescent::_trace(q{>>Matched production: [nonglob ptail]<<},
2486             Parse::RecDescent::_tracefirst($text),
2487             q{relpath},
2488             $tracelevel)
2489             if defined $::RD_TRACE;
2490              
2491              
2492              
2493 1         2 $_matched = 1;
2494 1         4 last;
2495             }
2496              
2497              
2498 328   66     2335 while (!$_matched && !$commit)
2499             {
2500            
2501 316 50       722 Parse::RecDescent::_trace(q{Trying production: [nonglob ptail]},
2502             Parse::RecDescent::_tracefirst($_[1]),
2503             q{relpath},
2504             $tracelevel)
2505             if defined $::RD_TRACE;
2506 316         1348 my $thisprod = $thisrule->{"prods"}[2];
2507 316         578 $text = $_[1];
2508 316         739 my $_savetext;
2509 316         776 @item = (q{relpath});
2510 316         873 %item = (__RULE__ => q{relpath});
2511 316         6856 my $repcount = 0;
2512              
2513              
2514 316 50       713 Parse::RecDescent::_trace(q{Trying subrule: [nonglob]},
2515             Parse::RecDescent::_tracefirst($text),
2516             q{relpath},
2517             $tracelevel)
2518             if defined $::RD_TRACE;
2519 9     9   52 if (1) { no strict qw{refs};
  9         17  
  9         2060  
  316         421  
2520 316         1047 $expectation->is(q{})->at($text);
2521 316 50   316   3652 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::nonglob($thisparser,$text,$repeating,$_noactions,sub { return ['.'] },undef)))
  316         1007  
2522             {
2523            
2524 316 50       845 Parse::RecDescent::_trace(q{<>},
2525             Parse::RecDescent::_tracefirst($text),
2526             q{relpath},
2527             $tracelevel)
2528             if defined $::RD_TRACE;
2529 316         952 $expectation->failed();
2530 316         1246 last;
2531             }
2532 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [nonglob]<< (return value: [}
2533             . $_tok . q{]},
2534              
2535             Parse::RecDescent::_tracefirst($text),
2536             q{relpath},
2537             $tracelevel)
2538             if defined $::RD_TRACE;
2539 0         0 $item{q{nonglob}} = $_tok;
2540 0         0 push @item, $_tok;
2541            
2542             }
2543              
2544 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [ptail]},
2545             Parse::RecDescent::_tracefirst($text),
2546             q{relpath},
2547             $tracelevel)
2548             if defined $::RD_TRACE;
2549 9     9   54 if (1) { no strict qw{refs};
  9         16  
  9         5501  
  0         0  
2550 0         0 $expectation->is(q{ptail})->at($text);
2551 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::ptail($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  0         0  
2552             {
2553            
2554 0 0       0 Parse::RecDescent::_trace(q{<>},
2555             Parse::RecDescent::_tracefirst($text),
2556             q{relpath},
2557             $tracelevel)
2558             if defined $::RD_TRACE;
2559 0         0 $expectation->failed();
2560 0         0 last;
2561             }
2562 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [ptail]<< (return value: [}
2563             . $_tok . q{]},
2564              
2565             Parse::RecDescent::_tracefirst($text),
2566             q{relpath},
2567             $tracelevel)
2568             if defined $::RD_TRACE;
2569 0         0 $item{q{ptail}} = $_tok;
2570 0         0 push @item, $_tok;
2571            
2572             }
2573              
2574 0 0       0 Parse::RecDescent::_trace(q{Trying action},
2575             Parse::RecDescent::_tracefirst($text),
2576             q{relpath},
2577             $tracelevel)
2578             if defined $::RD_TRACE;
2579            
2580              
2581 0 0       0 $_tok = ($_noactions) ? 0 : do {
2582 0         0 new Config::Maker::Path::This(@{$item[-1]});
  0         0  
2583             };
2584 0 0       0 unless (defined $_tok)
2585             {
2586 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
2587             if defined $::RD_TRACE;
2588 0         0 last;
2589             }
2590 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
2591             . $_tok . q{])},
2592             Parse::RecDescent::_tracefirst($text))
2593             if defined $::RD_TRACE;
2594 0         0 push @item, $_tok;
2595 0         0 $item{__ACTION1__}=$_tok;
2596            
2597              
2598 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [nonglob ptail]<<},
2599             Parse::RecDescent::_tracefirst($text),
2600             q{relpath},
2601             $tracelevel)
2602             if defined $::RD_TRACE;
2603              
2604              
2605              
2606 0         0 $_matched = 1;
2607 0         0 last;
2608             }
2609              
2610              
2611 328   66     2204 while (!$_matched && !$commit)
2612             {
2613            
2614 316 50       817 Parse::RecDescent::_trace(q{Trying production: [pcomponent ptail]},
2615             Parse::RecDescent::_tracefirst($_[1]),
2616             q{relpath},
2617             $tracelevel)
2618             if defined $::RD_TRACE;
2619 316         880 my $thisprod = $thisrule->{"prods"}[3];
2620 316         472 $text = $_[1];
2621 316         482 my $_savetext;
2622 316         850 @item = (q{relpath});
2623 316         842 %item = (__RULE__ => q{relpath});
2624 316         532 my $repcount = 0;
2625              
2626              
2627 316 50       730 Parse::RecDescent::_trace(q{Trying subrule: [pcomponent]},
2628             Parse::RecDescent::_tracefirst($text),
2629             q{relpath},
2630             $tracelevel)
2631             if defined $::RD_TRACE;
2632 9     9   55 if (1) { no strict qw{refs};
  9         21  
  9         2564  
  316         454  
2633 316         1051 $expectation->is(q{})->at($text);
2634 316 100   316   4243 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::pcomponent($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  316         890  
2635             {
2636            
2637 18 50       54 Parse::RecDescent::_trace(q{<>},
2638             Parse::RecDescent::_tracefirst($text),
2639             q{relpath},
2640             $tracelevel)
2641             if defined $::RD_TRACE;
2642 18         63 $expectation->failed();
2643 18         70 last;
2644             }
2645 298 50       1287 Parse::RecDescent::_trace(q{>>Matched subrule: [pcomponent]<< (return value: [}
2646             . $_tok . q{]},
2647              
2648             Parse::RecDescent::_tracefirst($text),
2649             q{relpath},
2650             $tracelevel)
2651             if defined $::RD_TRACE;
2652 298         702 $item{q{pcomponent}} = $_tok;
2653 298         538 push @item, $_tok;
2654            
2655             }
2656              
2657 298 50       707 Parse::RecDescent::_trace(q{Trying subrule: [ptail]},
2658             Parse::RecDescent::_tracefirst($text),
2659             q{relpath},
2660             $tracelevel)
2661             if defined $::RD_TRACE;
2662 9     9   45 if (1) { no strict qw{refs};
  9         27  
  9         8507  
  298         406  
2663 298         1495 $expectation->is(q{ptail})->at($text);
2664 298 50   298   3991 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::ptail($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  298         718  
2665             {
2666            
2667 0 0       0 Parse::RecDescent::_trace(q{<>},
2668             Parse::RecDescent::_tracefirst($text),
2669             q{relpath},
2670             $tracelevel)
2671             if defined $::RD_TRACE;
2672 0         0 $expectation->failed();
2673 0         0 last;
2674             }
2675 298 50       1279 Parse::RecDescent::_trace(q{>>Matched subrule: [ptail]<< (return value: [}
2676             . $_tok . q{]},
2677              
2678             Parse::RecDescent::_tracefirst($text),
2679             q{relpath},
2680             $tracelevel)
2681             if defined $::RD_TRACE;
2682 298         658 $item{q{ptail}} = $_tok;
2683 298         571 push @item, $_tok;
2684            
2685             }
2686              
2687 298 50       690 Parse::RecDescent::_trace(q{Trying action},
2688             Parse::RecDescent::_tracefirst($text),
2689             q{relpath},
2690             $tracelevel)
2691             if defined $::RD_TRACE;
2692            
2693              
2694 298 50       663 $_tok = ($_noactions) ? 0 : do {
2695 298         462 new Config::Maker::Path(%{$item[1]}, @{$item[-1]});
  298         1073  
  298         2187  
2696             };
2697 298 50       978 unless (defined $_tok)
2698             {
2699 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
2700             if defined $::RD_TRACE;
2701 0         0 last;
2702             }
2703 298 50       756 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
2704             . $_tok . q{])},
2705             Parse::RecDescent::_tracefirst($text))
2706             if defined $::RD_TRACE;
2707 298         572 push @item, $_tok;
2708 298         663 $item{__ACTION1__}=$_tok;
2709            
2710              
2711 298 50       779 Parse::RecDescent::_trace(q{>>Matched production: [pcomponent ptail]<<},
2712             Parse::RecDescent::_tracefirst($text),
2713             q{relpath},
2714             $tracelevel)
2715             if defined $::RD_TRACE;
2716              
2717              
2718              
2719 298         391 $_matched = 1;
2720 298         598 last;
2721             }
2722              
2723              
2724 328 100 66     973 unless ( $_matched || defined($score) )
2725             {
2726            
2727              
2728 18         44 $_[1] = $text; # NOT SURE THIS IS NEEDED
2729 18 50       49 Parse::RecDescent::_trace(q{<>},
2730             Parse::RecDescent::_tracefirst($_[1]),
2731             q{relpath},
2732             $tracelevel)
2733             if defined $::RD_TRACE;
2734 18         147 return undef;
2735             }
2736 310 50 33     1951 if (!defined($return) && defined($score))
2737             {
2738 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2739             q{relpath},
2740             $tracelevel)
2741             if defined $::RD_TRACE;
2742 0         0 $return = $score_return;
2743             }
2744 310         529 splice @{$thisparser->{errors}}, $err_at;
  310         752  
2745 310 50       941 $return = $item[$#item] unless defined $return;
2746 310 50       723 if (defined $::RD_TRACE)
2747             {
2748 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2749             $return . q{])}, "",
2750             q{relpath},
2751             $tracelevel);
2752 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2753             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2754             Parse::RecDescent::_tracefirst($text),
2755             , q{relpath},
2756             $tracelevel)
2757             }
2758 310         635 $_[1] = $text;
2759 310         3924 return $return;
2760             }
2761              
2762             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
2763             sub Parse::RecDescent::Config::Maker::Grammar::integer
2764             {
2765 0     0   0 my $thisparser = $_[0];
2766 9     9   64 use vars q{$tracelevel};
  9         18  
  9         4109  
2767 0   0     0 local $tracelevel = ($tracelevel||0)+1;
2768 0         0 $ERRORS = 0;
2769 0         0 my $thisrule = $thisparser->{"rules"}{"integer"};
2770              
2771 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [integer]},
2772             Parse::RecDescent::_tracefirst($_[1]),
2773             q{integer},
2774             $tracelevel)
2775             if defined $::RD_TRACE;
2776              
2777            
2778 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
2779              
2780 0         0 my $score;
2781             my $score_return;
2782 0         0 my $_tok;
2783 0         0 my $return = undef;
2784 0         0 my $_matched=0;
2785 0         0 my $commit=0;
2786 0         0 my @item = ();
2787 0         0 my %item = ();
2788 0         0 my $repeating = $_[2];
2789 0         0 my $_noactions = $_[3];
2790 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
2791 0         0 my $_itempos = $_[5];
2792 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2793 0         0 my $text;
2794             my $lastsep;
2795 0         0 my $current_match;
2796 0         0 my $expectation = new Parse::RecDescent::Expectation(q{hexint, or octint, or decint});
2797 0         0 $expectation->at($_[1]);
2798            
2799 0         0 my $thisline;
2800 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2801              
2802            
2803              
2804 0   0     0 while (!$_matched && !$commit)
2805             {
2806            
2807 0 0       0 Parse::RecDescent::_trace(q{Trying production: [hexint]},
2808             Parse::RecDescent::_tracefirst($_[1]),
2809             q{integer},
2810             $tracelevel)
2811             if defined $::RD_TRACE;
2812 0         0 my $thisprod = $thisrule->{"prods"}[0];
2813 0         0 $text = $_[1];
2814 0         0 my $_savetext;
2815 0         0 @item = (q{integer});
2816 0         0 %item = (__RULE__ => q{integer});
2817 0         0 my $repcount = 0;
2818              
2819              
2820 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [hexint]},
2821             Parse::RecDescent::_tracefirst($text),
2822             q{integer},
2823             $tracelevel)
2824             if defined $::RD_TRACE;
2825 9     9   63 if (1) { no strict qw{refs};
  9         17  
  9         4071  
  0         0  
2826 0         0 $expectation->is(q{})->at($text);
2827 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::hexint($thisparser,$text,$repeating,$_noactions,sub { return [@arg] },undef)))
  0         0  
2828             {
2829            
2830 0 0       0 Parse::RecDescent::_trace(q{<>},
2831             Parse::RecDescent::_tracefirst($text),
2832             q{integer},
2833             $tracelevel)
2834             if defined $::RD_TRACE;
2835 0         0 $expectation->failed();
2836 0         0 last;
2837             }
2838 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [hexint]<< (return value: [}
2839             . $_tok . q{]},
2840              
2841             Parse::RecDescent::_tracefirst($text),
2842             q{integer},
2843             $tracelevel)
2844             if defined $::RD_TRACE;
2845 0         0 $item{q{hexint}} = $_tok;
2846 0         0 push @item, $_tok;
2847            
2848             }
2849              
2850 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [hexint]<<},
2851             Parse::RecDescent::_tracefirst($text),
2852             q{integer},
2853             $tracelevel)
2854             if defined $::RD_TRACE;
2855              
2856              
2857              
2858 0         0 $_matched = 1;
2859 0         0 last;
2860             }
2861              
2862              
2863 0   0     0 while (!$_matched && !$commit)
2864             {
2865            
2866 0 0       0 Parse::RecDescent::_trace(q{Trying production: [octint]},
2867             Parse::RecDescent::_tracefirst($_[1]),
2868             q{integer},
2869             $tracelevel)
2870             if defined $::RD_TRACE;
2871 0         0 my $thisprod = $thisrule->{"prods"}[1];
2872 0         0 $text = $_[1];
2873 0         0 my $_savetext;
2874 0         0 @item = (q{integer});
2875 0         0 %item = (__RULE__ => q{integer});
2876 0         0 my $repcount = 0;
2877              
2878              
2879 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [octint]},
2880             Parse::RecDescent::_tracefirst($text),
2881             q{integer},
2882             $tracelevel)
2883             if defined $::RD_TRACE;
2884 9     9   70 if (1) { no strict qw{refs};
  9         17  
  9         4401  
  0         0  
2885 0         0 $expectation->is(q{})->at($text);
2886 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::octint($thisparser,$text,$repeating,$_noactions,sub { return [@arg] },undef)))
  0         0  
2887             {
2888            
2889 0 0       0 Parse::RecDescent::_trace(q{<>},
2890             Parse::RecDescent::_tracefirst($text),
2891             q{integer},
2892             $tracelevel)
2893             if defined $::RD_TRACE;
2894 0         0 $expectation->failed();
2895 0         0 last;
2896             }
2897 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [octint]<< (return value: [}
2898             . $_tok . q{]},
2899              
2900             Parse::RecDescent::_tracefirst($text),
2901             q{integer},
2902             $tracelevel)
2903             if defined $::RD_TRACE;
2904 0         0 $item{q{octint}} = $_tok;
2905 0         0 push @item, $_tok;
2906            
2907             }
2908              
2909 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [octint]<<},
2910             Parse::RecDescent::_tracefirst($text),
2911             q{integer},
2912             $tracelevel)
2913             if defined $::RD_TRACE;
2914              
2915              
2916              
2917 0         0 $_matched = 1;
2918 0         0 last;
2919             }
2920              
2921              
2922 0   0     0 while (!$_matched && !$commit)
2923             {
2924            
2925 0 0       0 Parse::RecDescent::_trace(q{Trying production: [decint]},
2926             Parse::RecDescent::_tracefirst($_[1]),
2927             q{integer},
2928             $tracelevel)
2929             if defined $::RD_TRACE;
2930 0         0 my $thisprod = $thisrule->{"prods"}[2];
2931 0         0 $text = $_[1];
2932 0         0 my $_savetext;
2933 0         0 @item = (q{integer});
2934 0         0 %item = (__RULE__ => q{integer});
2935 0         0 my $repcount = 0;
2936              
2937              
2938 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [decint]},
2939             Parse::RecDescent::_tracefirst($text),
2940             q{integer},
2941             $tracelevel)
2942             if defined $::RD_TRACE;
2943 9     9   64 if (1) { no strict qw{refs};
  9         17  
  9         48085  
  0         0  
2944 0         0 $expectation->is(q{})->at($text);
2945 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::decint($thisparser,$text,$repeating,$_noactions,sub { return [@arg] },undef)))
  0         0  
2946             {
2947            
2948 0 0       0 Parse::RecDescent::_trace(q{<>},
2949             Parse::RecDescent::_tracefirst($text),
2950             q{integer},
2951             $tracelevel)
2952             if defined $::RD_TRACE;
2953 0         0 $expectation->failed();
2954 0         0 last;
2955             }
2956 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [decint]<< (return value: [}
2957             . $_tok . q{]},
2958              
2959             Parse::RecDescent::_tracefirst($text),
2960             q{integer},
2961             $tracelevel)
2962             if defined $::RD_TRACE;
2963 0         0 $item{q{decint}} = $_tok;
2964 0         0 push @item, $_tok;
2965            
2966             }
2967              
2968 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [decint]<<},
2969             Parse::RecDescent::_tracefirst($text),
2970             q{integer},
2971             $tracelevel)
2972             if defined $::RD_TRACE;
2973              
2974              
2975              
2976 0         0 $_matched = 1;
2977 0         0 last;
2978             }
2979              
2980              
2981 0 0 0     0 unless ( $_matched || defined($score) )
2982             {
2983            
2984              
2985 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
2986 0 0       0 Parse::RecDescent::_trace(q{<>},
2987             Parse::RecDescent::_tracefirst($_[1]),
2988             q{integer},
2989             $tracelevel)
2990             if defined $::RD_TRACE;
2991 0         0 return undef;
2992             }
2993 0 0 0     0 if (!defined($return) && defined($score))
2994             {
2995 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2996             q{integer},
2997             $tracelevel)
2998             if defined $::RD_TRACE;
2999 0         0 $return = $score_return;
3000             }
3001 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
3002 0 0       0 $return = $item[$#item] unless defined $return;
3003 0 0       0 if (defined $::RD_TRACE)
3004             {
3005 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3006             $return . q{])}, "",
3007             q{integer},
3008             $tracelevel);
3009 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3010             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3011             Parse::RecDescent::_tracefirst($text),
3012             , q{integer},
3013             $tracelevel)
3014             }
3015 0         0 $_[1] = $text;
3016 0         0 return $return;
3017             }
3018              
3019             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3020             sub Parse::RecDescent::Config::Maker::Grammar::value_dns_zone
3021             {
3022 0     0   0 my $thisparser = $_[0];
3023 9     9   61 use vars q{$tracelevel};
  9         13  
  9         14228  
3024 0   0     0 local $tracelevel = ($tracelevel||0)+1;
3025 0         0 $ERRORS = 0;
3026 0         0 my $thisrule = $thisparser->{"rules"}{"value_dns_zone"};
3027              
3028 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [value_dns_zone]},
3029             Parse::RecDescent::_tracefirst($_[1]),
3030             q{value_dns_zone},
3031             $tracelevel)
3032             if defined $::RD_TRACE;
3033              
3034            
3035 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
3036              
3037 0         0 my $score;
3038             my $score_return;
3039 0         0 my $_tok;
3040 0         0 my $return = undef;
3041 0         0 my $_matched=0;
3042 0         0 my $commit=0;
3043 0         0 my @item = ();
3044 0         0 my %item = ();
3045 0         0 my $repeating = $_[2];
3046 0         0 my $_noactions = $_[3];
3047 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
3048 0         0 my $_itempos = $_[5];
3049 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3050 0         0 my $text;
3051             my $lastsep;
3052 0         0 my $current_match;
3053 0         0 my $expectation = new Parse::RecDescent::Expectation(q{/([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.?/});
3054 0         0 $expectation->at($_[1]);
3055            
3056 0         0 my $thisline;
3057 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3058              
3059            
3060              
3061 0   0     0 while (!$_matched && !$commit)
3062             {
3063            
3064 0 0       0 Parse::RecDescent::_trace(q{Trying production: [/([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.?/]},
3065             Parse::RecDescent::_tracefirst($_[1]),
3066             q{value_dns_zone},
3067             $tracelevel)
3068             if defined $::RD_TRACE;
3069 0         0 my $thisprod = $thisrule->{"prods"}[0];
3070 0         0 $text = $_[1];
3071 0         0 my $_savetext;
3072 0         0 @item = (q{value_dns_zone});
3073 0         0 %item = (__RULE__ => q{value_dns_zone});
3074 0         0 my $repcount = 0;
3075              
3076              
3077 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [/([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.?/]}, Parse::RecDescent::_tracefirst($text),
3078             q{value_dns_zone},
3079             $tracelevel)
3080             if defined $::RD_TRACE;
3081 0         0 undef $lastsep;
3082 0         0 $expectation->is(q{})->at($text);
3083            
3084              
3085 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.?)/)
  0 0       0  
3086             {
3087 0 0       0 $text = $lastsep . $text if defined $lastsep;
3088 0         0 $expectation->failed();
3089 0 0       0 Parse::RecDescent::_trace(q{<>},
3090             Parse::RecDescent::_tracefirst($text))
3091             if defined $::RD_TRACE;
3092              
3093 0         0 last;
3094             }
3095 0         0 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3096 0         0 substr($text,0,length($current_match),q{});
3097 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3098             . $current_match . q{])},
3099             Parse::RecDescent::_tracefirst($text))
3100             if defined $::RD_TRACE;
3101 0         0 push @item, $item{__PATTERN1__}=$current_match;
3102            
3103              
3104 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [/([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.?/]<<},
3105             Parse::RecDescent::_tracefirst($text),
3106             q{value_dns_zone},
3107             $tracelevel)
3108             if defined $::RD_TRACE;
3109              
3110              
3111              
3112 0         0 $_matched = 1;
3113 0         0 last;
3114             }
3115              
3116              
3117 0         0 while (!$_matched)
3118             {
3119            
3120 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
3121             Parse::RecDescent::_tracefirst($_[1]),
3122             q{value_dns_zone},
3123             $tracelevel)
3124             if defined $::RD_TRACE;
3125 0         0 my $thisprod = $thisrule->{"prods"}[1];
3126            
3127 0         0 my $_savetext;
3128 0         0 @item = (q{value_dns_zone});
3129 0         0 %item = (__RULE__ => q{value_dns_zone});
3130 0         0 my $repcount = 0;
3131              
3132              
3133            
3134              
3135 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
3136             Parse::RecDescent::_tracefirst($text),
3137             q{value_dns_zone},
3138             $tracelevel)
3139             if defined $::RD_TRACE;
3140 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
3141 0         0 my $rule = $item[0];
3142 0         0 $rule =~ s/_/ /g;
3143             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
3144 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
3145 0         0 } unless $_noactions; undef } else {0} };
3146 0 0       0 if (defined($_tok))
3147             {
3148 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
3149             . $_tok . q{])},
3150             Parse::RecDescent::_tracefirst($text))
3151             if defined $::RD_TRACE;
3152             }
3153             else
3154             {
3155 0 0       0 Parse::RecDescent::_trace(q{<>},
3156             Parse::RecDescent::_tracefirst($text))
3157             if defined $::RD_TRACE;
3158             }
3159            
3160 0 0       0 last unless defined $_tok;
3161 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
3162            
3163              
3164 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
3165             Parse::RecDescent::_tracefirst($text),
3166             q{value_dns_zone},
3167             $tracelevel)
3168             if defined $::RD_TRACE;
3169              
3170              
3171              
3172 0         0 $_matched = 1;
3173 0         0 last;
3174             }
3175              
3176              
3177 0 0 0     0 unless ( $_matched || defined($score) )
3178             {
3179            
3180              
3181 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
3182 0 0       0 Parse::RecDescent::_trace(q{<>},
3183             Parse::RecDescent::_tracefirst($_[1]),
3184             q{value_dns_zone},
3185             $tracelevel)
3186             if defined $::RD_TRACE;
3187 0         0 return undef;
3188             }
3189 0 0 0     0 if (!defined($return) && defined($score))
3190             {
3191 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3192             q{value_dns_zone},
3193             $tracelevel)
3194             if defined $::RD_TRACE;
3195 0         0 $return = $score_return;
3196             }
3197 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
3198 0 0       0 $return = $item[$#item] unless defined $return;
3199 0 0       0 if (defined $::RD_TRACE)
3200             {
3201 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3202             $return . q{])}, "",
3203             q{value_dns_zone},
3204             $tracelevel);
3205 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3206             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3207             Parse::RecDescent::_tracefirst($text),
3208             , q{value_dns_zone},
3209             $tracelevel)
3210             }
3211 0         0 $_[1] = $text;
3212 0         0 return $return;
3213             }
3214              
3215             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3216             sub Parse::RecDescent::Config::Maker::Grammar::metaroot
3217             {
3218 604     604   1192 my $thisparser = $_[0];
3219 9     9   71 use vars q{$tracelevel};
  9         22  
  9         8083  
3220 604   50     2624 local $tracelevel = ($tracelevel||0)+1;
3221 604         762 $ERRORS = 0;
3222 604         1589 my $thisrule = $thisparser->{"rules"}{"metaroot"};
3223              
3224 604 50       1336 Parse::RecDescent::_trace(q{Trying rule: [metaroot]},
3225             Parse::RecDescent::_tracefirst($_[1]),
3226             q{metaroot},
3227             $tracelevel)
3228             if defined $::RD_TRACE;
3229              
3230            
3231 604         652 my $err_at = @{$thisparser->{errors}};
  604         1166  
3232              
3233 604         1091 my $score;
3234             my $score_return;
3235 0         0 my $_tok;
3236 604         805 my $return = undef;
3237 604         940 my $_matched=0;
3238 604         1208 my $commit=0;
3239 604         907 my @item = ();
3240 604         1062 my %item = ();
3241 604         798 my $repeating = $_[2];
3242 604         751 my $_noactions = $_[3];
3243 604 50       1203 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  604         852  
  604         1309  
3244 604         868 my $_itempos = $_[5];
3245 604 100       1550 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3246 604         944 my $text;
3247             my $lastsep;
3248 0         0 my $current_match;
3249 604         2130 my $expectation = new Parse::RecDescent::Expectation(q{'META:'});
3250 604         5124 $expectation->at($_[1]);
3251            
3252 604         2814 my $thisline;
3253 604         2748 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3254              
3255            
3256              
3257 604   33     12684 while (!$_matched && !$commit)
3258             {
3259            
3260 604 50       1332 Parse::RecDescent::_trace(q{Trying production: ['META:']},
3261             Parse::RecDescent::_tracefirst($_[1]),
3262             q{metaroot},
3263             $tracelevel)
3264             if defined $::RD_TRACE;
3265 604         1585 my $thisprod = $thisrule->{"prods"}[0];
3266 604         876 $text = $_[1];
3267 604         859 my $_savetext;
3268 604         1363 @item = (q{metaroot});
3269 604         1302 %item = (__RULE__ => q{metaroot});
3270 604         788 my $repcount = 0;
3271              
3272              
3273 604 50       1236 Parse::RecDescent::_trace(q{Trying terminal: ['META:']},
3274             Parse::RecDescent::_tracefirst($text),
3275             q{metaroot},
3276             $tracelevel)
3277             if defined $::RD_TRACE;
3278 604         903 undef $lastsep;
3279 604         1802 $expectation->is(q{})->at($text);
3280            
3281              
3282 604 50 33     6235 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\AMETA\:/)
  604 50       6613  
3283             {
3284 604 50       2121 $text = $lastsep . $text if defined $lastsep;
3285            
3286 604         2019 $expectation->failed();
3287 604 50       3837 Parse::RecDescent::_trace(qq{<>},
3288             Parse::RecDescent::_tracefirst($text))
3289             if defined $::RD_TRACE;
3290 604         1936 last;
3291             }
3292 0         0 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3293 0         0 substr($text,0,length($current_match),q{});
3294 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3295             . $current_match . q{])},
3296             Parse::RecDescent::_tracefirst($text))
3297             if defined $::RD_TRACE;
3298 0         0 push @item, $item{__STRING1__}=$current_match;
3299            
3300              
3301 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['META:']<<},
3302             Parse::RecDescent::_tracefirst($text),
3303             q{metaroot},
3304             $tracelevel)
3305             if defined $::RD_TRACE;
3306              
3307              
3308              
3309 0         0 $_matched = 1;
3310 0         0 last;
3311             }
3312              
3313              
3314 604 50 33     3089 unless ( $_matched || defined($score) )
3315             {
3316            
3317              
3318 604         1680 $_[1] = $text; # NOT SURE THIS IS NEEDED
3319 604 50       4307 Parse::RecDescent::_trace(q{<>},
3320             Parse::RecDescent::_tracefirst($_[1]),
3321             q{metaroot},
3322             $tracelevel)
3323             if defined $::RD_TRACE;
3324 604         5851 return undef;
3325             }
3326 0 0 0     0 if (!defined($return) && defined($score))
3327             {
3328 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3329             q{metaroot},
3330             $tracelevel)
3331             if defined $::RD_TRACE;
3332 0         0 $return = $score_return;
3333             }
3334 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
3335 0 0       0 $return = $item[$#item] unless defined $return;
3336 0 0       0 if (defined $::RD_TRACE)
3337             {
3338 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3339             $return . q{])}, "",
3340             q{metaroot},
3341             $tracelevel);
3342 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3343             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3344             Parse::RecDescent::_tracefirst($text),
3345             , q{metaroot},
3346             $tracelevel)
3347             }
3348 0         0 $_[1] = $text;
3349 0         0 return $return;
3350             }
3351              
3352             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3353             sub Parse::RecDescent::Config::Maker::Grammar::value_dns_name
3354             {
3355 5     5   15 my $thisparser = $_[0];
3356 9     9   55 use vars q{$tracelevel};
  9         23  
  9         12111  
3357 5   50     25 local $tracelevel = ($tracelevel||0)+1;
3358 5         11 $ERRORS = 0;
3359 5         19 my $thisrule = $thisparser->{"rules"}{"value_dns_name"};
3360              
3361 5 50       19 Parse::RecDescent::_trace(q{Trying rule: [value_dns_name]},
3362             Parse::RecDescent::_tracefirst($_[1]),
3363             q{value_dns_name},
3364             $tracelevel)
3365             if defined $::RD_TRACE;
3366              
3367            
3368 5         10 my $err_at = @{$thisparser->{errors}};
  5         15  
3369              
3370 5         10 my $score;
3371             my $score_return;
3372 0         0 my $_tok;
3373 5         12 my $return = undef;
3374 5         10 my $_matched=0;
3375 5         12 my $commit=0;
3376 5         13 my @item = ();
3377 5         10 my %item = ();
3378 5         10 my $repeating = $_[2];
3379 5         10 my $_noactions = $_[3];
3380 5 50       1252 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  5         10  
  5         17  
3381 5         14 my $_itempos = $_[5];
3382 5 50       24 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3383 5         13 my $text;
3384             my $lastsep;
3385 0         0 my $current_match;
3386 5         26 my $expectation = new Parse::RecDescent::Expectation(q{/[a-zA-Z0-9-]+/});
3387 5         55 $expectation->at($_[1]);
3388            
3389 5         25 my $thisline;
3390 5         33 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3391              
3392            
3393              
3394 5   33     75 while (!$_matched && !$commit)
3395             {
3396            
3397 5 50       27 Parse::RecDescent::_trace(q{Trying production: [/[a-zA-Z0-9-]+/]},
3398             Parse::RecDescent::_tracefirst($_[1]),
3399             q{value_dns_name},
3400             $tracelevel)
3401             if defined $::RD_TRACE;
3402 5         24 my $thisprod = $thisrule->{"prods"}[0];
3403 5         55 $text = $_[1];
3404 5         6 my $_savetext;
3405 5         15 @item = (q{value_dns_name});
3406 5         71 %item = (__RULE__ => q{value_dns_name});
3407 5         10 my $repcount = 0;
3408              
3409              
3410 5 50       17 Parse::RecDescent::_trace(q{Trying terminal: [/[a-zA-Z0-9-]+/]}, Parse::RecDescent::_tracefirst($text),
3411             q{value_dns_name},
3412             $tracelevel)
3413             if defined $::RD_TRACE;
3414 5         13 undef $lastsep;
3415 5         22 $expectation->is(q{})->at($text);
3416            
3417              
3418 5 50 33     138 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[a-zA-Z0-9-]+)/)
  5 50       731  
3419             {
3420 0 0       0 $text = $lastsep . $text if defined $lastsep;
3421 0         0 $expectation->failed();
3422 0 0       0 Parse::RecDescent::_trace(q{<>},
3423             Parse::RecDescent::_tracefirst($text))
3424             if defined $::RD_TRACE;
3425              
3426 0         0 last;
3427             }
3428 5         48 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3429 5         28 substr($text,0,length($current_match),q{});
3430 5 50       21 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3431             . $current_match . q{])},
3432             Parse::RecDescent::_tracefirst($text))
3433             if defined $::RD_TRACE;
3434 5         18 push @item, $item{__PATTERN1__}=$current_match;
3435            
3436              
3437 5 50       13 Parse::RecDescent::_trace(q{>>Matched production: [/[a-zA-Z0-9-]+/]<<},
3438             Parse::RecDescent::_tracefirst($text),
3439             q{value_dns_name},
3440             $tracelevel)
3441             if defined $::RD_TRACE;
3442              
3443              
3444              
3445 5         13 $_matched = 1;
3446 5         13 last;
3447             }
3448              
3449              
3450 5         63 while (!$_matched)
3451             {
3452            
3453 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
3454             Parse::RecDescent::_tracefirst($_[1]),
3455             q{value_dns_name},
3456             $tracelevel)
3457             if defined $::RD_TRACE;
3458 0         0 my $thisprod = $thisrule->{"prods"}[1];
3459            
3460 0         0 my $_savetext;
3461 0         0 @item = (q{value_dns_name});
3462 0         0 %item = (__RULE__ => q{value_dns_name});
3463 0         0 my $repcount = 0;
3464              
3465              
3466            
3467              
3468 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
3469             Parse::RecDescent::_tracefirst($text),
3470             q{value_dns_name},
3471             $tracelevel)
3472             if defined $::RD_TRACE;
3473 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
3474 0         0 my $rule = $item[0];
3475 0         0 $rule =~ s/_/ /g;
3476             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
3477 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
3478 0         0 } unless $_noactions; undef } else {0} };
3479 0 0       0 if (defined($_tok))
3480             {
3481 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
3482             . $_tok . q{])},
3483             Parse::RecDescent::_tracefirst($text))
3484             if defined $::RD_TRACE;
3485             }
3486             else
3487             {
3488 0 0       0 Parse::RecDescent::_trace(q{<>},
3489             Parse::RecDescent::_tracefirst($text))
3490             if defined $::RD_TRACE;
3491             }
3492            
3493 0 0       0 last unless defined $_tok;
3494 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
3495            
3496              
3497 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
3498             Parse::RecDescent::_tracefirst($text),
3499             q{value_dns_name},
3500             $tracelevel)
3501             if defined $::RD_TRACE;
3502              
3503              
3504              
3505 0         0 $_matched = 1;
3506 0         0 last;
3507             }
3508              
3509              
3510 5 50 33     21 unless ( $_matched || defined($score) )
3511             {
3512            
3513              
3514 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
3515 0 0       0 Parse::RecDescent::_trace(q{<>},
3516             Parse::RecDescent::_tracefirst($_[1]),
3517             q{value_dns_name},
3518             $tracelevel)
3519             if defined $::RD_TRACE;
3520 0         0 return undef;
3521             }
3522 5 50 33     34 if (!defined($return) && defined($score))
3523             {
3524 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3525             q{value_dns_name},
3526             $tracelevel)
3527             if defined $::RD_TRACE;
3528 0         0 $return = $score_return;
3529             }
3530 5         8 splice @{$thisparser->{errors}}, $err_at;
  5         17  
3531 5 50       21 $return = $item[$#item] unless defined $return;
3532 5 50       105 if (defined $::RD_TRACE)
3533             {
3534 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3535             $return . q{])}, "",
3536             q{value_dns_name},
3537             $tracelevel);
3538 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3539             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3540             Parse::RecDescent::_tracefirst($text),
3541             , q{value_dns_name},
3542             $tracelevel)
3543             }
3544 5         15 $_[1] = $text;
3545 5         62 return $return;
3546             }
3547              
3548             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3549             sub Parse::RecDescent::Config::Maker::Grammar::value_ipv4_mask
3550             {
3551 3     3   9 my $thisparser = $_[0];
3552 9     9   59 use vars q{$tracelevel};
  9         18  
  9         5460  
3553 3   50     15 local $tracelevel = ($tracelevel||0)+1;
3554 3         7 $ERRORS = 0;
3555 3         13 my $thisrule = $thisparser->{"rules"}{"value_ipv4_mask"};
3556              
3557 3 50       11 Parse::RecDescent::_trace(q{Trying rule: [value_ipv4_mask]},
3558             Parse::RecDescent::_tracefirst($_[1]),
3559             q{value_ipv4_mask},
3560             $tracelevel)
3561             if defined $::RD_TRACE;
3562              
3563            
3564 3         4 my $err_at = @{$thisparser->{errors}};
  3         9  
3565              
3566 3         5 my $score;
3567             my $score_return;
3568 0         0 my $_tok;
3569 3         5 my $return = undef;
3570 3         6 my $_matched=0;
3571 3         7 my $commit=0;
3572 3         8 my @item = ();
3573 3         8 my %item = ();
3574 3         7 my $repeating = $_[2];
3575 3         8 my $_noactions = $_[3];
3576 3 50       12 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  3         4  
  3         7  
3577 3         9 my $_itempos = $_[5];
3578 3 50       13 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3579 3         5 my $text;
3580             my $lastsep;
3581 0         0 my $current_match;
3582 3         17 my $expectation = new Parse::RecDescent::Expectation(q{});
3583 3         29 $expectation->at($_[1]);
3584            
3585 3         16 my $thisline;
3586 3         17 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3587              
3588            
3589              
3590 3   33     40 while (!$_matched && !$commit)
3591             {
3592 3 50       10 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
3593 3 50       13 Parse::RecDescent::_trace(q{Trying production: [ value_ipv4 '/' decint, or value_ipv4]},
3594             Parse::RecDescent::_tracefirst($_[1]),
3595             q{value_ipv4_mask},
3596             $tracelevel)
3597             if defined $::RD_TRACE;
3598 3         20 my $thisprod = $thisrule->{"prods"}[0];
3599 3         7 $text = $_[1];
3600 3         8 my $_savetext;
3601 3         8 @item = (q{value_ipv4_mask});
3602 3         9 %item = (__RULE__ => q{value_ipv4_mask});
3603 3         9 my $repcount = 0;
3604              
3605              
3606            
3607              
3608 3 50       9 Parse::RecDescent::_trace(q{Trying directive: []},
3609             Parse::RecDescent::_tracefirst($text),
3610             q{value_ipv4_mask},
3611             $tracelevel)
3612             if defined $::RD_TRACE;
3613 3         7 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  3         6  
  3         7  
  3         16  
3614 3 50       21 if (defined($_tok))
3615             {
3616 3 50       16 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
3617             . $_tok . q{])},
3618             Parse::RecDescent::_tracefirst($text))
3619             if defined $::RD_TRACE;
3620             }
3621             else
3622             {
3623 0 0       0 Parse::RecDescent::_trace(q{<>},
3624             Parse::RecDescent::_tracefirst($text))
3625             if defined $::RD_TRACE;
3626             }
3627            
3628 3 50       8 last unless defined $_tok;
3629 3         10 push @item, $item{__DIRECTIVE1__}=$_tok;
3630            
3631              
3632 3 50       10 Parse::RecDescent::_trace(q{Trying subrule: [value_ipv4]},
3633             Parse::RecDescent::_tracefirst($text),
3634             q{value_ipv4_mask},
3635             $tracelevel)
3636             if defined $::RD_TRACE;
3637 9     9   62 if (1) { no strict qw{refs};
  9         28  
  9         4527  
  3         4  
3638 3         14 $expectation->is(q{value_ipv4})->at($text);
3639 3 50   3   83 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::value_ipv4($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  3         9  
3640             {
3641            
3642 0 0       0 Parse::RecDescent::_trace(q{<>},
3643             Parse::RecDescent::_tracefirst($text),
3644             q{value_ipv4_mask},
3645             $tracelevel)
3646             if defined $::RD_TRACE;
3647 0         0 $expectation->failed();
3648 0         0 last;
3649             }
3650 3 50       18 Parse::RecDescent::_trace(q{>>Matched subrule: [value_ipv4]<< (return value: [}
3651             . $_tok . q{]},
3652              
3653             Parse::RecDescent::_tracefirst($text),
3654             q{value_ipv4_mask},
3655             $tracelevel)
3656             if defined $::RD_TRACE;
3657 3         11 $item{q{value_ipv4}} = $_tok;
3658 3         8 push @item, $_tok;
3659            
3660             }
3661              
3662 3 50       12 Parse::RecDescent::_trace(q{Trying terminal: ['/']},
3663             Parse::RecDescent::_tracefirst($text),
3664             q{value_ipv4_mask},
3665             $tracelevel)
3666             if defined $::RD_TRACE;
3667 3         13 undef $lastsep;
3668 3         17 $expectation->is(q{'/'})->at($text);
3669            
3670              
3671 3 50 33     54 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\//)
  3 50       45  
3672             {
3673 0 0       0 $text = $lastsep . $text if defined $lastsep;
3674            
3675 0         0 $expectation->failed();
3676 0 0       0 Parse::RecDescent::_trace(qq{<>},
3677             Parse::RecDescent::_tracefirst($text))
3678             if defined $::RD_TRACE;
3679 0         0 last;
3680             }
3681 3         64 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3682 3         16 substr($text,0,length($current_match),q{});
3683 3 50       15 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3684             . $current_match . q{])},
3685             Parse::RecDescent::_tracefirst($text))
3686             if defined $::RD_TRACE;
3687 3         12 push @item, $item{__STRING1__}=$current_match;
3688            
3689              
3690 3 50       11 Parse::RecDescent::_trace(q{Trying subrule: [_alternation_1_of_production_1_of_rule_value_ipv4_mask]},
3691             Parse::RecDescent::_tracefirst($text),
3692             q{value_ipv4_mask},
3693             $tracelevel)
3694             if defined $::RD_TRACE;
3695 9     9   56 if (1) { no strict qw{refs};
  9         17  
  9         10774  
  3         6  
3696 3         13 $expectation->is(q{decint, or value_ipv4})->at($text);
3697 3 50   3   47 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::_alternation_1_of_production_1_of_rule_value_ipv4_mask($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  3         12  
3698             {
3699            
3700 0 0       0 Parse::RecDescent::_trace(q{<>},
3701             Parse::RecDescent::_tracefirst($text),
3702             q{value_ipv4_mask},
3703             $tracelevel)
3704             if defined $::RD_TRACE;
3705 0         0 $expectation->failed();
3706 0         0 last;
3707             }
3708 3 50       15 Parse::RecDescent::_trace(q{>>Matched subrule: [_alternation_1_of_production_1_of_rule_value_ipv4_mask]<< (return value: [}
3709             . $_tok . q{]},
3710              
3711             Parse::RecDescent::_tracefirst($text),
3712             q{value_ipv4_mask},
3713             $tracelevel)
3714             if defined $::RD_TRACE;
3715 3         63 $item{q{_alternation_1_of_production_1_of_rule_value_ipv4_mask}} = $_tok;
3716 3         8 push @item, $_tok;
3717            
3718             }
3719              
3720 3 50       11 Parse::RecDescent::_trace(q{Trying action},
3721             Parse::RecDescent::_tracefirst($text),
3722             q{value_ipv4_mask},
3723             $tracelevel)
3724             if defined $::RD_TRACE;
3725            
3726              
3727 3 50       10 $_tok = ($_noactions) ? 0 : do { "$item[2]/$item[-1]"; };
  3         16  
3728 3 50       17 unless (defined $_tok)
3729             {
3730 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
3731             if defined $::RD_TRACE;
3732 0         0 last;
3733             }
3734 3 50       10 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3735             . $_tok . q{])},
3736             Parse::RecDescent::_tracefirst($text))
3737             if defined $::RD_TRACE;
3738 3         6 push @item, $_tok;
3739 3         8 $item{__ACTION1__}=$_tok;
3740            
3741              
3742 3 50       9 Parse::RecDescent::_trace(q{>>Matched production: [ value_ipv4 '/' decint, or value_ipv4]<<},
3743             Parse::RecDescent::_tracefirst($text),
3744             q{value_ipv4_mask},
3745             $tracelevel)
3746             if defined $::RD_TRACE;
3747              
3748              
3749              
3750 3         4 $_matched = 1;
3751 3         8 last;
3752             }
3753              
3754              
3755 3         13 while (!$_matched)
3756             {
3757            
3758 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
3759             Parse::RecDescent::_tracefirst($_[1]),
3760             q{value_ipv4_mask},
3761             $tracelevel)
3762             if defined $::RD_TRACE;
3763 0         0 my $thisprod = $thisrule->{"prods"}[1];
3764            
3765 0         0 my $_savetext;
3766 0         0 @item = (q{value_ipv4_mask});
3767 0         0 %item = (__RULE__ => q{value_ipv4_mask});
3768 0         0 my $repcount = 0;
3769              
3770              
3771            
3772              
3773 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
3774             Parse::RecDescent::_tracefirst($text),
3775             q{value_ipv4_mask},
3776             $tracelevel)
3777             if defined $::RD_TRACE;
3778 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
3779 0         0 my $rule = $item[0];
3780 0         0 $rule =~ s/_/ /g;
3781             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
3782 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
3783 0         0 } unless $_noactions; undef } else {0} };
3784 0 0       0 if (defined($_tok))
3785             {
3786 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
3787             . $_tok . q{])},
3788             Parse::RecDescent::_tracefirst($text))
3789             if defined $::RD_TRACE;
3790             }
3791             else
3792             {
3793 0 0       0 Parse::RecDescent::_trace(q{<>},
3794             Parse::RecDescent::_tracefirst($text))
3795             if defined $::RD_TRACE;
3796             }
3797            
3798 0 0       0 last unless defined $_tok;
3799 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
3800            
3801              
3802 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
3803             Parse::RecDescent::_tracefirst($text),
3804             q{value_ipv4_mask},
3805             $tracelevel)
3806             if defined $::RD_TRACE;
3807              
3808              
3809              
3810 0         0 $_matched = 1;
3811 0         0 last;
3812             }
3813              
3814              
3815 3 50 33     12 unless ( $_matched || defined($score) )
3816             {
3817            
3818              
3819 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
3820 0 0       0 Parse::RecDescent::_trace(q{<>},
3821             Parse::RecDescent::_tracefirst($_[1]),
3822             q{value_ipv4_mask},
3823             $tracelevel)
3824             if defined $::RD_TRACE;
3825 0         0 return undef;
3826             }
3827 3 50 33     22 if (!defined($return) && defined($score))
3828             {
3829 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3830             q{value_ipv4_mask},
3831             $tracelevel)
3832             if defined $::RD_TRACE;
3833 0         0 $return = $score_return;
3834             }
3835 3         4 splice @{$thisparser->{errors}}, $err_at;
  3         8  
3836 3 50       11 $return = $item[$#item] unless defined $return;
3837 3 50       16 if (defined $::RD_TRACE)
3838             {
3839 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3840             $return . q{])}, "",
3841             q{value_ipv4_mask},
3842             $tracelevel);
3843 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3844             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3845             Parse::RecDescent::_tracefirst($text),
3846             , q{value_ipv4_mask},
3847             $tracelevel)
3848             }
3849 3         12 $_[1] = $text;
3850 3         54 return $return;
3851             }
3852              
3853             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3854             sub Parse::RecDescent::Config::Maker::Grammar::identifier
3855             {
3856 1425     1425   3578 my $thisparser = $_[0];
3857 9     9   132 use vars q{$tracelevel};
  9         17  
  9         9409  
3858 1425   50     4541 local $tracelevel = ($tracelevel||0)+1;
3859 1425         2022 $ERRORS = 0;
3860 1425         6369 my $thisrule = $thisparser->{"rules"}{"identifier"};
3861              
3862 1425 50       3077 Parse::RecDescent::_trace(q{Trying rule: [identifier]},
3863             Parse::RecDescent::_tracefirst($_[1]),
3864             q{identifier},
3865             $tracelevel)
3866             if defined $::RD_TRACE;
3867              
3868            
3869 1425         2078 my $err_at = @{$thisparser->{errors}};
  1425         2949  
3870              
3871 1425         1808 my $score;
3872             my $score_return;
3873 0         0 my $_tok;
3874 1425         3915 my $return = undef;
3875 1425         1812 my $_matched=0;
3876 1425         1678 my $commit=0;
3877 1425         19046 my @item = ();
3878 1425         3119 my %item = ();
3879 1425         2086 my $repeating = $_[2];
3880 1425         1703 my $_noactions = $_[3];
3881 1425 50       2923 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  1425         2212  
  1425         3277  
3882 1425         2378 my $_itempos = $_[5];
3883 1425 100       5588 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3884 1425         2519 my $text;
3885             my $lastsep;
3886 0         0 my $current_match;
3887 1425         13046 my $expectation = new Parse::RecDescent::Expectation(q{/[[:alpha:]][[:alnum:]_-]*/});
3888 1425         13317 $expectation->at($_[1]);
3889            
3890 1425         7267 my $thisline;
3891 1425         6069 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3892              
3893            
3894              
3895 1425   33     16665 while (!$_matched && !$commit)
3896             {
3897            
3898 1425 50       8166 Parse::RecDescent::_trace(q{Trying production: [/[[:alpha:]][[:alnum:]_-]*/]},
3899             Parse::RecDescent::_tracefirst($_[1]),
3900             q{identifier},
3901             $tracelevel)
3902             if defined $::RD_TRACE;
3903 1425         3620 my $thisprod = $thisrule->{"prods"}[0];
3904 1425         8728 $text = $_[1];
3905 1425         1616 my $_savetext;
3906 1425         2976 @item = (q{identifier});
3907 1425         3504 %item = (__RULE__ => q{identifier});
3908 1425         2345 my $repcount = 0;
3909              
3910              
3911 1425 50       5523 Parse::RecDescent::_trace(q{Trying terminal: [/[[:alpha:]][[:alnum:]_-]*/]}, Parse::RecDescent::_tracefirst($text),
3912             q{identifier},
3913             $tracelevel)
3914             if defined $::RD_TRACE;
3915 1425         2745 undef $lastsep;
3916 1425         9140 $expectation->is(q{})->at($text);
3917            
3918              
3919 1425 100 66     31546 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[[:alpha:]][[:alnum:]_-]*)/)
  1425 100       34102  
3920             {
3921 336 50       1263 $text = $lastsep . $text if defined $lastsep;
3922 336         1215 $expectation->failed();
3923 336 50       2035 Parse::RecDescent::_trace(q{<>},
3924             Parse::RecDescent::_tracefirst($text))
3925             if defined $::RD_TRACE;
3926              
3927 336         5006 last;
3928             }
3929 1089         8717 $current_match = substr($text, $-[0], $+[0] - $-[0]);
3930 1089         5040 substr($text,0,length($current_match),q{});
3931 1089 50       2716 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3932             . $current_match . q{])},
3933             Parse::RecDescent::_tracefirst($text))
3934             if defined $::RD_TRACE;
3935 1089         2872 push @item, $item{__PATTERN1__}=$current_match;
3936            
3937              
3938 1089 50       2809 Parse::RecDescent::_trace(q{>>Matched production: [/[[:alpha:]][[:alnum:]_-]*/]<<},
3939             Parse::RecDescent::_tracefirst($text),
3940             q{identifier},
3941             $tracelevel)
3942             if defined $::RD_TRACE;
3943              
3944              
3945              
3946 1089         1469 $_matched = 1;
3947 1089         2304 last;
3948             }
3949              
3950              
3951 1425 100 66     5760 unless ( $_matched || defined($score) )
3952             {
3953            
3954              
3955 336         695 $_[1] = $text; # NOT SURE THIS IS NEEDED
3956 336 50       932 Parse::RecDescent::_trace(q{<>},
3957             Parse::RecDescent::_tracefirst($_[1]),
3958             q{identifier},
3959             $tracelevel)
3960             if defined $::RD_TRACE;
3961 336         2901 return undef;
3962             }
3963 1089 50 33     7423 if (!defined($return) && defined($score))
3964             {
3965 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3966             q{identifier},
3967             $tracelevel)
3968             if defined $::RD_TRACE;
3969 0         0 $return = $score_return;
3970             }
3971 1089         2155 splice @{$thisparser->{errors}}, $err_at;
  1089         23659  
3972 1089 50       4519 $return = $item[$#item] unless defined $return;
3973 1089 50       3052 if (defined $::RD_TRACE)
3974             {
3975 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3976             $return . q{])}, "",
3977             q{identifier},
3978             $tracelevel);
3979 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3980             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3981             Parse::RecDescent::_tracefirst($text),
3982             , q{identifier},
3983             $tracelevel)
3984             }
3985 1089         1999 $_[1] = $text;
3986 1089         12535 return $return;
3987             }
3988              
3989             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
3990             sub Parse::RecDescent::Config::Maker::Grammar::ptail
3991             {
3992 310     310   606 my $thisparser = $_[0];
3993 9     9   80 use vars q{$tracelevel};
  9         20  
  9         3904  
3994 310   50     1134 local $tracelevel = ($tracelevel||0)+1;
3995 310         513 $ERRORS = 0;
3996 310         889 my $thisrule = $thisparser->{"rules"}{"ptail"};
3997              
3998 310 50       750 Parse::RecDescent::_trace(q{Trying rule: [ptail]},
3999             Parse::RecDescent::_tracefirst($_[1]),
4000             q{ptail},
4001             $tracelevel)
4002             if defined $::RD_TRACE;
4003              
4004            
4005 310         372 my $err_at = @{$thisparser->{errors}};
  310         632  
4006              
4007 310         473 my $score;
4008             my $score_return;
4009 0         0 my $_tok;
4010 310         484 my $return = undef;
4011 310         430 my $_matched=0;
4012 310         405 my $commit=0;
4013 310         599 my @item = ();
4014 310         643 my %item = ();
4015 310         476 my $repeating = $_[2];
4016 310         426 my $_noactions = $_[3];
4017 310 50       11428 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  310         418  
  310         1422  
4018 310         558 my $_itempos = $_[5];
4019 310 100       1092 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4020 310         445 my $text;
4021             my $lastsep;
4022 0         0 my $current_match;
4023 310         1288 my $expectation = new Parse::RecDescent::Expectation(q{separator});
4024 310         16236 $expectation->at($_[1]);
4025            
4026 310         1465 my $thisline;
4027 310         2620 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4028              
4029            
4030              
4031 310   33     12286 while (!$_matched && !$commit)
4032             {
4033            
4034 310 50       1297 Parse::RecDescent::_trace(q{Trying production: [separator relpath]},
4035             Parse::RecDescent::_tracefirst($_[1]),
4036             q{ptail},
4037             $tracelevel)
4038             if defined $::RD_TRACE;
4039 310         1090 my $thisprod = $thisrule->{"prods"}[0];
4040 310         481 $text = $_[1];
4041 310         400 my $_savetext;
4042 310         800 @item = (q{ptail});
4043 310         807 %item = (__RULE__ => q{ptail});
4044 310         705 my $repcount = 0;
4045              
4046              
4047 310 50       792 Parse::RecDescent::_trace(q{Trying subrule: [separator]},
4048             Parse::RecDescent::_tracefirst($text),
4049             q{ptail},
4050             $tracelevel)
4051             if defined $::RD_TRACE;
4052 9     9   129 if (1) { no strict qw{refs};
  9         16  
  9         2009  
  310         388  
4053 310         987 $expectation->is(q{})->at($text);
4054 310 100   310   3366 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::separator($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  310         712  
4055             {
4056            
4057 284 50       809 Parse::RecDescent::_trace(q{<>},
4058             Parse::RecDescent::_tracefirst($text),
4059             q{ptail},
4060             $tracelevel)
4061             if defined $::RD_TRACE;
4062 284         848 $expectation->failed();
4063 284         1228 last;
4064             }
4065 26 50       973 Parse::RecDescent::_trace(q{>>Matched subrule: [separator]<< (return value: [}
4066             . $_tok . q{]},
4067              
4068             Parse::RecDescent::_tracefirst($text),
4069             q{ptail},
4070             $tracelevel)
4071             if defined $::RD_TRACE;
4072 26         106 $item{q{separator}} = $_tok;
4073 26         63 push @item, $_tok;
4074            
4075             }
4076              
4077 26 50       86 Parse::RecDescent::_trace(q{Trying subrule: [relpath]},
4078             Parse::RecDescent::_tracefirst($text),
4079             q{ptail},
4080             $tracelevel)
4081             if defined $::RD_TRACE;
4082 9     9   44 if (1) { no strict qw{refs};
  9         19  
  9         8770  
  26         58  
4083 26         109 $expectation->is(q{relpath})->at($text);
4084 26 50   26   549 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::relpath($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  26         80  
4085             {
4086            
4087 0 0       0 Parse::RecDescent::_trace(q{<>},
4088             Parse::RecDescent::_tracefirst($text),
4089             q{ptail},
4090             $tracelevel)
4091             if defined $::RD_TRACE;
4092 0         0 $expectation->failed();
4093 0         0 last;
4094             }
4095 26 50       173 Parse::RecDescent::_trace(q{>>Matched subrule: [relpath]<< (return value: [}
4096             . $_tok . q{]},
4097              
4098             Parse::RecDescent::_tracefirst($text),
4099             q{ptail},
4100             $tracelevel)
4101             if defined $::RD_TRACE;
4102 26         80 $item{q{relpath}} = $_tok;
4103 26         58 push @item, $_tok;
4104            
4105             }
4106              
4107 26 50       92 Parse::RecDescent::_trace(q{Trying action},
4108             Parse::RecDescent::_tracefirst($text),
4109             q{ptail},
4110             $tracelevel)
4111             if defined $::RD_TRACE;
4112            
4113              
4114 26 50       92 $_tok = ($_noactions) ? 0 : do { [-tail => $item{relpath}] };
  26         153  
4115 26 50       96 unless (defined $_tok)
4116             {
4117 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4118             if defined $::RD_TRACE;
4119 0         0 last;
4120             }
4121 26 50       92 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4122             . $_tok . q{])},
4123             Parse::RecDescent::_tracefirst($text))
4124             if defined $::RD_TRACE;
4125 26         49 push @item, $_tok;
4126 26         62 $item{__ACTION1__}=$_tok;
4127            
4128              
4129 26 50       77 Parse::RecDescent::_trace(q{>>Matched production: [separator relpath]<<},
4130             Parse::RecDescent::_tracefirst($text),
4131             q{ptail},
4132             $tracelevel)
4133             if defined $::RD_TRACE;
4134              
4135              
4136              
4137 26         46 $_matched = 1;
4138 26         53 last;
4139             }
4140              
4141              
4142 310   66     1915 while (!$_matched && !$commit)
4143             {
4144            
4145 284 50       674 Parse::RecDescent::_trace(q{Trying production: []},
4146             Parse::RecDescent::_tracefirst($_[1]),
4147             q{ptail},
4148             $tracelevel)
4149             if defined $::RD_TRACE;
4150 284         844 my $thisprod = $thisrule->{"prods"}[1];
4151 284         492 $text = $_[1];
4152 284         736 my $_savetext;
4153 284         645 @item = (q{ptail});
4154 284         806 %item = (__RULE__ => q{ptail});
4155 284         1721 my $repcount = 0;
4156              
4157              
4158 284 50       616 Parse::RecDescent::_trace(q{Trying action},
4159             Parse::RecDescent::_tracefirst($text),
4160             q{ptail},
4161             $tracelevel)
4162             if defined $::RD_TRACE;
4163            
4164              
4165 284 50       583 $_tok = ($_noactions) ? 0 : do { []; };
  284         527  
4166 284 50       1448 unless (defined $_tok)
4167             {
4168 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4169             if defined $::RD_TRACE;
4170 0         0 last;
4171             }
4172 284 50       1036 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4173             . $_tok . q{])},
4174             Parse::RecDescent::_tracefirst($text))
4175             if defined $::RD_TRACE;
4176 284         464 push @item, $_tok;
4177 284         691 $item{__ACTION1__}=$_tok;
4178            
4179              
4180 284 50       626 Parse::RecDescent::_trace(q{>>Matched production: []<<},
4181             Parse::RecDescent::_tracefirst($text),
4182             q{ptail},
4183             $tracelevel)
4184             if defined $::RD_TRACE;
4185              
4186              
4187              
4188 284         359 $_matched = 1;
4189 284         478 last;
4190             }
4191              
4192              
4193 310 50 33     1005 unless ( $_matched || defined($score) )
4194             {
4195            
4196              
4197 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
4198 0 0       0 Parse::RecDescent::_trace(q{<>},
4199             Parse::RecDescent::_tracefirst($_[1]),
4200             q{ptail},
4201             $tracelevel)
4202             if defined $::RD_TRACE;
4203 0         0 return undef;
4204             }
4205 310 50 33     1647 if (!defined($return) && defined($score))
4206             {
4207 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4208             q{ptail},
4209             $tracelevel)
4210             if defined $::RD_TRACE;
4211 0         0 $return = $score_return;
4212             }
4213 310         406 splice @{$thisparser->{errors}}, $err_at;
  310         950  
4214 310 50       1645 $return = $item[$#item] unless defined $return;
4215 310 50       760 if (defined $::RD_TRACE)
4216             {
4217 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4218             $return . q{])}, "",
4219             q{ptail},
4220             $tracelevel);
4221 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4222             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4223             Parse::RecDescent::_tracefirst($text),
4224             , q{ptail},
4225             $tracelevel)
4226             }
4227 310         462 $_[1] = $text;
4228 310         2397 return $return;
4229             }
4230              
4231             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4232             sub Parse::RecDescent::Config::Maker::Grammar::real
4233             {
4234 0     0   0 my $thisparser = $_[0];
4235 9     9   55 use vars q{$tracelevel};
  9         19  
  9         28509  
4236 0   0     0 local $tracelevel = ($tracelevel||0)+1;
4237 0         0 $ERRORS = 0;
4238 0         0 my $thisrule = $thisparser->{"rules"}{"real"};
4239              
4240 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [real]},
4241             Parse::RecDescent::_tracefirst($_[1]),
4242             q{real},
4243             $tracelevel)
4244             if defined $::RD_TRACE;
4245              
4246            
4247 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
4248              
4249 0         0 my $score;
4250             my $score_return;
4251 0         0 my $_tok;
4252 0         0 my $return = undef;
4253 0         0 my $_matched=0;
4254 0         0 my $commit=0;
4255 0         0 my @item = ();
4256 0         0 my %item = ();
4257 0         0 my $repeating = $_[2];
4258 0         0 my $_noactions = $_[3];
4259 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
4260 0         0 my $_itempos = $_[5];
4261 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4262 0         0 my $text;
4263             my $lastsep;
4264 0         0 my $current_match;
4265 0         0 my $expectation = new Parse::RecDescent::Expectation(q{/[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e\\d+)?/});
4266 0         0 $expectation->at($_[1]);
4267            
4268 0         0 my $thisline;
4269 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4270              
4271            
4272              
4273 0   0     0 while (!$_matched && !$commit)
4274             {
4275            
4276 0 0       0 Parse::RecDescent::_trace(q{Trying production: [/[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e\\d+)?/]},
4277             Parse::RecDescent::_tracefirst($_[1]),
4278             q{real},
4279             $tracelevel)
4280             if defined $::RD_TRACE;
4281 0         0 my $thisprod = $thisrule->{"prods"}[0];
4282 0         0 $text = $_[1];
4283 0         0 my $_savetext;
4284 0         0 @item = (q{real});
4285 0         0 %item = (__RULE__ => q{real});
4286 0         0 my $repcount = 0;
4287              
4288              
4289 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [/[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e\\d+)?/]}, Parse::RecDescent::_tracefirst($text),
4290             q{real},
4291             $tracelevel)
4292             if defined $::RD_TRACE;
4293 0         0 undef $lastsep;
4294 0         0 $expectation->is(q{})->at($text);
4295            
4296              
4297 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[+-]?(\d+(\.\d*)?|\.\d+)(e\d+)?)/)
  0 0       0  
4298             {
4299 0 0       0 $text = $lastsep . $text if defined $lastsep;
4300 0         0 $expectation->failed();
4301 0 0       0 Parse::RecDescent::_trace(q{<>},
4302             Parse::RecDescent::_tracefirst($text))
4303             if defined $::RD_TRACE;
4304              
4305 0         0 last;
4306             }
4307 0         0 $current_match = substr($text, $-[0], $+[0] - $-[0]);
4308 0         0 substr($text,0,length($current_match),q{});
4309 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4310             . $current_match . q{])},
4311             Parse::RecDescent::_tracefirst($text))
4312             if defined $::RD_TRACE;
4313 0         0 push @item, $item{__PATTERN1__}=$current_match;
4314            
4315              
4316 0 0       0 Parse::RecDescent::_trace(q{Trying action},
4317             Parse::RecDescent::_tracefirst($text),
4318             q{real},
4319             $tracelevel)
4320             if defined $::RD_TRACE;
4321            
4322              
4323 0 0       0 $_tok = ($_noactions) ? 0 : do { 0 + $item[1]; };
  0         0  
4324 0 0       0 unless (defined $_tok)
4325             {
4326 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4327             if defined $::RD_TRACE;
4328 0         0 last;
4329             }
4330 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4331             . $_tok . q{])},
4332             Parse::RecDescent::_tracefirst($text))
4333             if defined $::RD_TRACE;
4334 0         0 push @item, $_tok;
4335 0         0 $item{__ACTION1__}=$_tok;
4336            
4337              
4338 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [/[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e\\d+)?/]<<},
4339             Parse::RecDescent::_tracefirst($text),
4340             q{real},
4341             $tracelevel)
4342             if defined $::RD_TRACE;
4343              
4344              
4345              
4346 0         0 $_matched = 1;
4347 0         0 last;
4348             }
4349              
4350              
4351 0 0 0     0 unless ( $_matched || defined($score) )
4352             {
4353            
4354              
4355 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
4356 0 0       0 Parse::RecDescent::_trace(q{<>},
4357             Parse::RecDescent::_tracefirst($_[1]),
4358             q{real},
4359             $tracelevel)
4360             if defined $::RD_TRACE;
4361 0         0 return undef;
4362             }
4363 0 0 0     0 if (!defined($return) && defined($score))
4364             {
4365 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4366             q{real},
4367             $tracelevel)
4368             if defined $::RD_TRACE;
4369 0         0 $return = $score_return;
4370             }
4371 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
4372 0 0       0 $return = $item[$#item] unless defined $return;
4373 0 0       0 if (defined $::RD_TRACE)
4374             {
4375 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4376             $return . q{])}, "",
4377             q{real},
4378             $tracelevel);
4379 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4380             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4381             Parse::RecDescent::_tracefirst($text),
4382             , q{real},
4383             $tracelevel)
4384             }
4385 0         0 $_[1] = $text;
4386 0         0 return $return;
4387             }
4388              
4389             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
4390             sub Parse::RecDescent::Config::Maker::Grammar::directive
4391             {
4392 248     248   8211 my $thisparser = $_[0];
4393 9     9   68 use vars q{$tracelevel};
  9         22  
  9         74718  
4394 248   50     833 local $tracelevel = ($tracelevel||0)+1;
4395 248         334 $ERRORS = 0;
4396 248         762 my $thisrule = $thisparser->{"rules"}{"directive"};
4397              
4398 248 50       573 Parse::RecDescent::_trace(q{Trying rule: [directive]},
4399             Parse::RecDescent::_tracefirst($_[1]),
4400             q{directive},
4401             $tracelevel)
4402             if defined $::RD_TRACE;
4403              
4404            
4405 248         373 my $err_at = @{$thisparser->{errors}};
  248         498  
4406              
4407 248         391 my $score;
4408             my $score_return;
4409 0         0 my $_tok;
4410 248         317 my $return = undef;
4411 248         332 my $_matched=0;
4412 248         298 my $commit=0;
4413 248         563 my @item = ();
4414 248         532 my %item = ();
4415 248         346 my $repeating = $_[2];
4416 248         313 my $_noactions = $_[3];
4417 248 50       3031 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  248         294  
  248         539  
4418 248         397 my $_itempos = $_[5];
4419 248 50       905 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4420 248         335 my $text;
4421             my $lastsep;
4422 0         0 my $current_match;
4423 248         982 my $expectation = new Parse::RecDescent::Expectation(q{/([^\\[]|\\[\\[)+/, or '[#', or '[', or '[+', or '[<', or opener});
4424 248         2577 $expectation->at($_[1]);
4425            
4426 248         1213 my $thisline;
4427 248         1318 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4428              
4429            
4430              
4431 248   33     3084 while (!$_matched && !$commit)
4432             {
4433            
4434 248 50       616 Parse::RecDescent::_trace(q{Trying production: [/([^\\[]|\\[\\[)+/]},
4435             Parse::RecDescent::_tracefirst($_[1]),
4436             q{directive},
4437             $tracelevel)
4438             if defined $::RD_TRACE;
4439 248         726 my $thisprod = $thisrule->{"prods"}[0];
4440 248         462 $text = $_[1];
4441 248         330 my $_savetext;
4442 248         515 @item = (q{directive});
4443 248         1486 %item = (__RULE__ => q{directive});
4444 248         361 my $repcount = 0;
4445              
4446              
4447 248 50       560 Parse::RecDescent::_trace(q{Trying terminal: [/([^\\[]|\\[\\[)+/]}, Parse::RecDescent::_tracefirst($text),
4448             q{directive},
4449             $tracelevel)
4450             if defined $::RD_TRACE;
4451 248         368 undef $lastsep;
4452 248         789 $expectation->is(q{})->at($text);
4453            
4454              
4455 248 50 66     4013 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:([^\[]|\[\[)+)/)
  248 100       3256  
4456             {
4457 165 50       1026 $text = $lastsep . $text if defined $lastsep;
4458 165         634 $expectation->failed();
4459 165 50       1237 Parse::RecDescent::_trace(q{<>},
4460             Parse::RecDescent::_tracefirst($text))
4461             if defined $::RD_TRACE;
4462              
4463 165         493 last;
4464             }
4465 83         1066 $current_match = substr($text, $-[0], $+[0] - $-[0]);
4466 83         387 substr($text,0,length($current_match),q{});
4467 83 50       252 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4468             . $current_match . q{])},
4469             Parse::RecDescent::_tracefirst($text))
4470             if defined $::RD_TRACE;
4471 83         262 push @item, $item{__PATTERN1__}=$current_match;
4472            
4473              
4474 83 50       274 Parse::RecDescent::_trace(q{Trying action},
4475             Parse::RecDescent::_tracefirst($text),
4476             q{directive},
4477             $tracelevel)
4478             if defined $::RD_TRACE;
4479            
4480              
4481 83 50       645 $_tok = ($_noactions) ? 0 : do { $item[1] =~ s/\[\[/[/g; $item[1] =~ s/\]\]/\]/g; $item[1]; };
  83         191  
  83         145  
  83         165  
4482 83 50       282 unless (defined $_tok)
4483             {
4484 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4485             if defined $::RD_TRACE;
4486 0         0 last;
4487             }
4488 83 50       203 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4489             . $_tok . q{])},
4490             Parse::RecDescent::_tracefirst($text))
4491             if defined $::RD_TRACE;
4492 83         162 push @item, $_tok;
4493 83         219 $item{__ACTION1__}=$_tok;
4494            
4495              
4496 83 50       220 Parse::RecDescent::_trace(q{>>Matched production: [/([^\\[]|\\[\\[)+/]<<},
4497             Parse::RecDescent::_tracefirst($text),
4498             q{directive},
4499             $tracelevel)
4500             if defined $::RD_TRACE;
4501              
4502              
4503              
4504 83         126 $_matched = 1;
4505 83         192 last;
4506             }
4507              
4508              
4509 248   66     1215 while (!$_matched && !$commit)
4510             {
4511            
4512 165 50       418 Parse::RecDescent::_trace(q{Trying production: ['[#' /([^#]|#[^\\]])*/ '#]']},
4513             Parse::RecDescent::_tracefirst($_[1]),
4514             q{directive},
4515             $tracelevel)
4516             if defined $::RD_TRACE;
4517 165         439 my $thisprod = $thisrule->{"prods"}[1];
4518 165         305 $text = $_[1];
4519 165         224 my $_savetext;
4520 165         394 @item = (q{directive});
4521 165         584 %item = (__RULE__ => q{directive});
4522 165         337 my $repcount = 0;
4523              
4524              
4525 165 50       398 Parse::RecDescent::_trace(q{Trying terminal: ['[#']},
4526             Parse::RecDescent::_tracefirst($text),
4527             q{directive},
4528             $tracelevel)
4529             if defined $::RD_TRACE;
4530 165         219 undef $lastsep;
4531 165         541 $expectation->is(q{})->at($text);
4532            
4533              
4534 165 50 66     2070 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\[\#/)
  165 100       3809  
4535             {
4536 163 50       789 $text = $lastsep . $text if defined $lastsep;
4537            
4538 163         706 $expectation->failed();
4539 163 50       870 Parse::RecDescent::_trace(qq{<>},
4540             Parse::RecDescent::_tracefirst($text))
4541             if defined $::RD_TRACE;
4542 163         771 last;
4543             }
4544 2         18 $current_match = substr($text, $-[0], $+[0] - $-[0]);
4545 2         13 substr($text,0,length($current_match),q{});
4546 2 50       8 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4547             . $current_match . q{])},
4548             Parse::RecDescent::_tracefirst($text))
4549             if defined $::RD_TRACE;
4550 2         7 push @item, $item{__STRING1__}=$current_match;
4551            
4552              
4553            
4554              
4555 2 50       15 Parse::RecDescent::_trace(q{Trying directive: []},
4556             Parse::RecDescent::_tracefirst($text),
4557             q{directive},
4558             $tracelevel)
4559             if defined $::RD_TRACE;
4560 2         3 $_tok = do { $commit = 1 };
  2         5  
4561 2 50       16 if (defined($_tok))
4562             {
4563 2 50       16 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
4564             . $_tok . q{])},
4565             Parse::RecDescent::_tracefirst($text))
4566             if defined $::RD_TRACE;
4567             }
4568             else
4569             {
4570 0 0       0 Parse::RecDescent::_trace(q{<>},
4571             Parse::RecDescent::_tracefirst($text))
4572             if defined $::RD_TRACE;
4573             }
4574            
4575 2 50       7 last unless defined $_tok;
4576 2         6 push @item, $item{__DIRECTIVE1__}=$_tok;
4577            
4578              
4579 2 50       8 Parse::RecDescent::_trace(q{Trying terminal: [/([^#]|#[^\\]])*/]}, Parse::RecDescent::_tracefirst($text),
4580             q{directive},
4581             $tracelevel)
4582             if defined $::RD_TRACE;
4583 2         2 undef $lastsep;
4584 2         9 $expectation->is(q{/([^#]|#[^\\]])*/})->at($text);
4585            
4586              
4587 2 50 33     34 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:([^#]|#[^\]])*)/)
  2 50       46  
4588             {
4589 0 0       0 $text = $lastsep . $text if defined $lastsep;
4590 0         0 $expectation->failed();
4591 0 0       0 Parse::RecDescent::_trace(q{<>},
4592             Parse::RecDescent::_tracefirst($text))
4593             if defined $::RD_TRACE;
4594              
4595 0         0 last;
4596             }
4597 2         16 $current_match = substr($text, $-[0], $+[0] - $-[0]);
4598 2         10 substr($text,0,length($current_match),q{});
4599 2 50       9 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4600             . $current_match . q{])},
4601             Parse::RecDescent::_tracefirst($text))
4602             if defined $::RD_TRACE;
4603 2         8 push @item, $item{__PATTERN1__}=$current_match;
4604            
4605              
4606 2 50       7 Parse::RecDescent::_trace(q{Trying terminal: ['#]']},
4607             Parse::RecDescent::_tracefirst($text),
4608             q{directive},
4609             $tracelevel)
4610             if defined $::RD_TRACE;
4611 2         4 undef $lastsep;
4612 2         16 $expectation->is(q{'#]'})->at($text);
4613            
4614              
4615 2 50 33     32 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\#\]/)
  2 50       38  
4616             {
4617 0 0       0 $text = $lastsep . $text if defined $lastsep;
4618            
4619 0         0 $expectation->failed();
4620 0 0       0 Parse::RecDescent::_trace(qq{<>},
4621             Parse::RecDescent::_tracefirst($text))
4622             if defined $::RD_TRACE;
4623 0         0 last;
4624             }
4625 2         15 $current_match = substr($text, $-[0], $+[0] - $-[0]);
4626 2         9 substr($text,0,length($current_match),q{});
4627 2 50       9 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4628             . $current_match . q{])},
4629             Parse::RecDescent::_tracefirst($text))
4630             if defined $::RD_TRACE;
4631 2         8 push @item, $item{__STRING2__}=$current_match;
4632            
4633              
4634 2 50       8 Parse::RecDescent::_trace(q{Trying action},
4635             Parse::RecDescent::_tracefirst($text),
4636             q{directive},
4637             $tracelevel)
4638             if defined $::RD_TRACE;
4639            
4640              
4641 2 50       7 $_tok = ($_noactions) ? 0 : do { ''; };
  2         7  
4642 2 50       9 unless (defined $_tok)
4643             {
4644 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4645             if defined $::RD_TRACE;
4646 0         0 last;
4647             }
4648 2 50       13 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4649             . $_tok . q{])},
4650             Parse::RecDescent::_tracefirst($text))
4651             if defined $::RD_TRACE;
4652 2         11 push @item, $_tok;
4653 2         6 $item{__ACTION1__}=$_tok;
4654            
4655              
4656 2 50       8 Parse::RecDescent::_trace(q{>>Matched production: ['[#' /([^#]|#[^\\]])*/ '#]']<<},
4657             Parse::RecDescent::_tracefirst($text),
4658             q{directive},
4659             $tracelevel)
4660             if defined $::RD_TRACE;
4661              
4662              
4663              
4664 2         4 $_matched = 1;
4665 2         5 last;
4666             }
4667              
4668              
4669 248         858 while (!$_matched)
4670             {
4671            
4672 163 50       423 Parse::RecDescent::_trace(q{Trying production: [ ]},
4673             Parse::RecDescent::_tracefirst($_[1]),
4674             q{directive},
4675             $tracelevel)
4676             if defined $::RD_TRACE;
4677 163         414 my $thisprod = $thisrule->{"prods"}[2];
4678            
4679 163         216 my $_savetext;
4680 163         629 @item = (q{directive});
4681 163         408 %item = (__RULE__ => q{directive});
4682 163         233 my $repcount = 0;
4683              
4684              
4685            
4686              
4687 163 50       653 Parse::RecDescent::_trace(q{Trying directive: []},
4688             Parse::RecDescent::_tracefirst($text),
4689             q{directive},
4690             $tracelevel)
4691             if defined $::RD_TRACE;
4692 163 0       209 $_tok = do { if ($commit) { do {
  163 50       421  
  0         0  
  163         324  
4693 0         0 my $rule = $item[0];
4694 0         0 $rule =~ s/_/ /g;
4695             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
4696 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
4697 0         0 } unless $_noactions; undef } else {0} };
4698 163 50       3494 if (defined($_tok))
4699             {
4700 163 50       403 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
4701             . $_tok . q{])},
4702             Parse::RecDescent::_tracefirst($text))
4703             if defined $::RD_TRACE;
4704             }
4705             else
4706             {
4707 0 0       0 Parse::RecDescent::_trace(q{<>},
4708             Parse::RecDescent::_tracefirst($text))
4709             if defined $::RD_TRACE;
4710             }
4711            
4712 163 50       1463 last unless defined $_tok;
4713 163         488 push @item, $item{__DIRECTIVE1__}=$_tok;
4714            
4715              
4716 163 50       423 Parse::RecDescent::_trace(q{>>Rejecting production<< (found )},
4717             Parse::RecDescent::_tracefirst($text),
4718             q{directive},
4719             $tracelevel)
4720             if defined $::RD_TRACE;
4721 163         206 undef $return;
4722            
4723              
4724 163         274 $_tok = undef;
4725            
4726 163 50       560 last unless defined $_tok;
4727              
4728 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
4729             Parse::RecDescent::_tracefirst($text),
4730             q{directive},
4731             $tracelevel)
4732             if defined $::RD_TRACE;
4733              
4734              
4735              
4736 0         0 $_matched = 1;
4737 0         0 last;
4738             }
4739              
4740              
4741 248   66     1072 while (!$_matched && !$commit)
4742             {
4743            
4744 163 50       393 Parse::RecDescent::_trace(q{Trying production: ['[' ']']},
4745             Parse::RecDescent::_tracefirst($_[1]),
4746             q{directive},
4747             $tracelevel)
4748             if defined $::RD_TRACE;
4749 163         395 my $thisprod = $thisrule->{"prods"}[3];
4750 163         308 $text = $_[1];
4751 163         239 my $_savetext;
4752 163         706 @item = (q{directive});
4753 163         431 %item = (__RULE__ => q{directive});
4754 163         427 my $repcount = 0;
4755              
4756              
4757 163 50       428 Parse::RecDescent::_trace(q{Trying terminal: ['[']},
4758             Parse::RecDescent::_tracefirst($text),
4759             q{directive},
4760             $tracelevel)
4761             if defined $::RD_TRACE;
4762 163         223 undef $lastsep;
4763 163         659 $expectation->is(q{})->at($text);
4764            
4765              
4766 163 50 66     2358 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\[/)
  163 100       1894  
4767             {
4768 37 50       167 $text = $lastsep . $text if defined $lastsep;
4769            
4770 37         146 $expectation->failed();
4771 37 50       217 Parse::RecDescent::_trace(qq{<>},
4772             Parse::RecDescent::_tracefirst($text))
4773             if defined $::RD_TRACE;
4774 37         99 last;
4775             }
4776 126         854 $current_match = substr($text, $-[0], $+[0] - $-[0]);
4777 126         599 substr($text,0,length($current_match),q{});
4778 126 50       1389 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4779             . $current_match . q{])},
4780             Parse::RecDescent::_tracefirst($text))
4781             if defined $::RD_TRACE;
4782 126         680 push @item, $item{__STRING1__}=$current_match;
4783            
4784              
4785            
4786              
4787 126 50       333 Parse::RecDescent::_trace(q{Trying directive: []},
4788             Parse::RecDescent::_tracefirst($text),
4789             q{directive},
4790             $tracelevel)
4791             if defined $::RD_TRACE;
4792 126         170 $_tok = do { Text::Balanced::extract_codeblock($text,undef,$skip,'{}');
  126         843  
4793             };
4794 126 100       21444 if (defined($_tok))
4795             {
4796 15 50       54 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
4797             . $_tok . q{])},
4798             Parse::RecDescent::_tracefirst($text))
4799             if defined $::RD_TRACE;
4800             }
4801             else
4802             {
4803 111 50       345 Parse::RecDescent::_trace(q{<>},
4804             Parse::RecDescent::_tracefirst($text))
4805             if defined $::RD_TRACE;
4806             }
4807            
4808 126 100       394 last unless defined $_tok;
4809 15         54 push @item, $item{__DIRECTIVE1__}=$_tok;
4810            
4811              
4812            
4813              
4814 15 50       40 Parse::RecDescent::_trace(q{Trying directive: []},
4815             Parse::RecDescent::_tracefirst($text),
4816             q{directive},
4817             $tracelevel)
4818             if defined $::RD_TRACE;
4819 15         23 $_tok = do { $commit = 1 };
  15         40  
4820 15 50       41 if (defined($_tok))
4821             {
4822 15 50       42 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
4823             . $_tok . q{])},
4824             Parse::RecDescent::_tracefirst($text))
4825             if defined $::RD_TRACE;
4826             }
4827             else
4828             {
4829 0 0       0 Parse::RecDescent::_trace(q{<>},
4830             Parse::RecDescent::_tracefirst($text))
4831             if defined $::RD_TRACE;
4832             }
4833            
4834 15 50       44 last unless defined $_tok;
4835 15         42 push @item, $item{__DIRECTIVE2__}=$_tok;
4836            
4837              
4838 15 50       58 Parse::RecDescent::_trace(q{Trying terminal: [']']},
4839             Parse::RecDescent::_tracefirst($text),
4840             q{directive},
4841             $tracelevel)
4842             if defined $::RD_TRACE;
4843 15         28 undef $lastsep;
4844 15         67 $expectation->is(q{']'})->at($text);
4845            
4846              
4847 15 50 33     201 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\]/)
  15 50       198  
4848             {
4849 0 0       0 $text = $lastsep . $text if defined $lastsep;
4850            
4851 0         0 $expectation->failed();
4852 0 0       0 Parse::RecDescent::_trace(qq{<>},
4853             Parse::RecDescent::_tracefirst($text))
4854             if defined $::RD_TRACE;
4855 0         0 last;
4856             }
4857 15         171 $current_match = substr($text, $-[0], $+[0] - $-[0]);
4858 15         70 substr($text,0,length($current_match),q{});
4859 15 50       48 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4860             . $current_match . q{])},
4861             Parse::RecDescent::_tracefirst($text))
4862             if defined $::RD_TRACE;
4863 15         66 push @item, $item{__STRING2__}=$current_match;
4864            
4865              
4866 15 50       44 Parse::RecDescent::_trace(q{Trying action},
4867             Parse::RecDescent::_tracefirst($text),
4868             q{directive},
4869             $tracelevel)
4870             if defined $::RD_TRACE;
4871            
4872              
4873 15 50       35 $_tok = ($_noactions) ? 0 : do {
4874 15         37 my $code = $item[2];
4875             sub {
4876 17     17   64 print Config::Maker::exe($code);
4877             }
4878 15         85 };
4879 15 50       46 unless (defined $_tok)
4880             {
4881 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4882             if defined $::RD_TRACE;
4883 0         0 last;
4884             }
4885 15 50       41 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4886             . $_tok . q{])},
4887             Parse::RecDescent::_tracefirst($text))
4888             if defined $::RD_TRACE;
4889 15         24 push @item, $_tok;
4890 15         37 $item{__ACTION1__}=$_tok;
4891            
4892              
4893 15 50       42 Parse::RecDescent::_trace(q{>>Matched production: ['[' ']']<<},
4894             Parse::RecDescent::_tracefirst($text),
4895             q{directive},
4896             $tracelevel)
4897             if defined $::RD_TRACE;
4898              
4899              
4900              
4901 15         19 $_matched = 1;
4902 15         44 last;
4903             }
4904              
4905              
4906 248         667 while (!$_matched)
4907             {
4908            
4909 148 50       369 Parse::RecDescent::_trace(q{Trying production: [ ]},
4910             Parse::RecDescent::_tracefirst($_[1]),
4911             q{directive},
4912             $tracelevel)
4913             if defined $::RD_TRACE;
4914 148         403 my $thisprod = $thisrule->{"prods"}[4];
4915            
4916 148         192 my $_savetext;
4917 148         647 @item = (q{directive});
4918 148         472 %item = (__RULE__ => q{directive});
4919 148         421 my $repcount = 0;
4920              
4921              
4922            
4923              
4924 148 50       685 Parse::RecDescent::_trace(q{Trying directive: []},
4925             Parse::RecDescent::_tracefirst($text),
4926             q{directive},
4927             $tracelevel)
4928             if defined $::RD_TRACE;
4929 148 0       226 $_tok = do { if ($commit) { do {
  148 50       403  
  0         0  
  148         342  
4930 0         0 my $rule = $item[0];
4931 0         0 $rule =~ s/_/ /g;
4932             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
4933 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
4934 0         0 } unless $_noactions; undef } else {0} };
4935 148 50       355 if (defined($_tok))
4936             {
4937 148 50       469 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
4938             . $_tok . q{])},
4939             Parse::RecDescent::_tracefirst($text))
4940             if defined $::RD_TRACE;
4941             }
4942             else
4943             {
4944 0 0       0 Parse::RecDescent::_trace(q{<>},
4945             Parse::RecDescent::_tracefirst($text))
4946             if defined $::RD_TRACE;
4947             }
4948            
4949 148 50       437 last unless defined $_tok;
4950 148         388 push @item, $item{__DIRECTIVE1__}=$_tok;
4951            
4952              
4953 148 50       548 Parse::RecDescent::_trace(q{>>Rejecting production<< (found )},
4954             Parse::RecDescent::_tracefirst($text),
4955             q{directive},
4956             $tracelevel)
4957             if defined $::RD_TRACE;
4958 148         220 undef $return;
4959            
4960              
4961 148         202 $_tok = undef;
4962            
4963 148 50       550 last unless defined $_tok;
4964              
4965 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
4966             Parse::RecDescent::_tracefirst($text),
4967             q{directive},
4968             $tracelevel)
4969             if defined $::RD_TRACE;
4970              
4971              
4972              
4973 0         0 $_matched = 1;
4974 0         0 last;
4975             }
4976              
4977              
4978 248   66     865 while (!$_matched && !$commit)
4979             {
4980 148 50       406 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
4981 148 50       366 Parse::RecDescent::_trace(q{Trying production: ['[+' identifier optpath '+]']},
4982             Parse::RecDescent::_tracefirst($_[1]),
4983             q{directive},
4984             $tracelevel)
4985             if defined $::RD_TRACE;
4986 148         498 my $thisprod = $thisrule->{"prods"}[5];
4987 148         347 $text = $_[1];
4988 148         209 my $_savetext;
4989 148         371 @item = (q{directive});
4990 148         404 %item = (__RULE__ => q{directive});
4991 148         237 my $repcount = 0;
4992              
4993              
4994 148 50       392 Parse::RecDescent::_trace(q{Trying terminal: ['[+']},
4995             Parse::RecDescent::_tracefirst($text),
4996             q{directive},
4997             $tracelevel)
4998             if defined $::RD_TRACE;
4999 148         212 undef $lastsep;
5000 148         554 $expectation->is(q{})->at($text);
5001            
5002              
5003 148 50 66     3927 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\[\+/)
  148 100       2067  
5004             {
5005 115 50       485 $text = $lastsep . $text if defined $lastsep;
5006            
5007 115         448 $expectation->failed();
5008 115 50       618 Parse::RecDescent::_trace(qq{<>},
5009             Parse::RecDescent::_tracefirst($text))
5010             if defined $::RD_TRACE;
5011 115         285 last;
5012             }
5013 33         210 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5014 33         159 substr($text,0,length($current_match),q{});
5015 33 50       187 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5016             . $current_match . q{])},
5017             Parse::RecDescent::_tracefirst($text))
5018             if defined $::RD_TRACE;
5019 33         115 push @item, $item{__STRING1__}=$current_match;
5020            
5021              
5022            
5023              
5024 33 50       94 Parse::RecDescent::_trace(q{Trying directive: []},
5025             Parse::RecDescent::_tracefirst($text),
5026             q{directive},
5027             $tracelevel)
5028             if defined $::RD_TRACE;
5029 33         61 $_tok = do { $commit = 1 };
  33         69  
5030 33 50       97 if (defined($_tok))
5031             {
5032 33 50       95 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5033             . $_tok . q{])},
5034             Parse::RecDescent::_tracefirst($text))
5035             if defined $::RD_TRACE;
5036             }
5037             else
5038             {
5039 0 0       0 Parse::RecDescent::_trace(q{<>},
5040             Parse::RecDescent::_tracefirst($text))
5041             if defined $::RD_TRACE;
5042             }
5043            
5044 33 50       101 last unless defined $_tok;
5045 33         87 push @item, $item{__DIRECTIVE1__}=$_tok;
5046            
5047              
5048            
5049              
5050 33 50       95 Parse::RecDescent::_trace(q{Trying directive: []},
5051             Parse::RecDescent::_tracefirst($text),
5052             q{directive},
5053             $tracelevel)
5054             if defined $::RD_TRACE;
5055 33         49 $_tok = do { my $oldskip = $skip; $skip= qr/\s*/; $oldskip };
  33         67  
  33         271  
  33         84  
5056 33 50       94 if (defined($_tok))
5057             {
5058 33 50       113 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5059             . $_tok . q{])},
5060             Parse::RecDescent::_tracefirst($text))
5061             if defined $::RD_TRACE;
5062             }
5063             else
5064             {
5065 0 0       0 Parse::RecDescent::_trace(q{<>},
5066             Parse::RecDescent::_tracefirst($text))
5067             if defined $::RD_TRACE;
5068             }
5069            
5070 33 50       84 last unless defined $_tok;
5071 33         111 push @item, $item{__DIRECTIVE2__}=$_tok;
5072            
5073              
5074 33 50       97 Parse::RecDescent::_trace(q{Trying subrule: [identifier]},
5075             Parse::RecDescent::_tracefirst($text),
5076             q{directive},
5077             $tracelevel)
5078             if defined $::RD_TRACE;
5079 9     9   107 if (1) { no strict qw{refs};
  9         23  
  9         3253  
  33         50  
5080 33         191 $expectation->is(q{identifier})->at($text);
5081 33 50   33   475 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  33         86  
5082             {
5083            
5084 0 0       0 Parse::RecDescent::_trace(q{<>},
5085             Parse::RecDescent::_tracefirst($text),
5086             q{directive},
5087             $tracelevel)
5088             if defined $::RD_TRACE;
5089 0         0 $expectation->failed();
5090 0         0 last;
5091             }
5092 33 50       181 Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [}
5093             . $_tok . q{]},
5094              
5095             Parse::RecDescent::_tracefirst($text),
5096             q{directive},
5097             $tracelevel)
5098             if defined $::RD_TRACE;
5099 33         154 $item{q{identifier}} = $_tok;
5100 33         76 push @item, $_tok;
5101            
5102             }
5103              
5104 33 50       106 Parse::RecDescent::_trace(q{Trying subrule: [optpath]},
5105             Parse::RecDescent::_tracefirst($text),
5106             q{directive},
5107             $tracelevel)
5108             if defined $::RD_TRACE;
5109 9     9   79 if (1) { no strict qw{refs};
  9         19  
  9         31468  
  33         54  
5110 33         134 $expectation->is(q{optpath})->at($text);
5111 33 50   33   462 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::optpath($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  33         87  
5112             {
5113            
5114 0 0       0 Parse::RecDescent::_trace(q{<>},
5115             Parse::RecDescent::_tracefirst($text),
5116             q{directive},
5117             $tracelevel)
5118             if defined $::RD_TRACE;
5119 0         0 $expectation->failed();
5120 0         0 last;
5121             }
5122 33 50       160 Parse::RecDescent::_trace(q{>>Matched subrule: [optpath]<< (return value: [}
5123             . $_tok . q{]},
5124              
5125             Parse::RecDescent::_tracefirst($text),
5126             q{directive},
5127             $tracelevel)
5128             if defined $::RD_TRACE;
5129 33         83 $item{q{optpath}} = $_tok;
5130 33         67 push @item, $_tok;
5131            
5132             }
5133              
5134 33 50       78 Parse::RecDescent::_trace(q{Trying terminal: ['+]']},
5135             Parse::RecDescent::_tracefirst($text),
5136             q{directive},
5137             $tracelevel)
5138             if defined $::RD_TRACE;
5139 33         78 undef $lastsep;
5140 33         141 $expectation->is(q{'+]'})->at($text);
5141            
5142              
5143 33 100 33     461 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\+\]/)
  33 50       416  
5144             {
5145 0 0       0 $text = $lastsep . $text if defined $lastsep;
5146            
5147 0         0 $expectation->failed();
5148 0 0       0 Parse::RecDescent::_trace(qq{<>},
5149             Parse::RecDescent::_tracefirst($text))
5150             if defined $::RD_TRACE;
5151 0         0 last;
5152             }
5153 33         254 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5154 33         143 substr($text,0,length($current_match),q{});
5155 33 50       98 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5156             . $current_match . q{])},
5157             Parse::RecDescent::_tracefirst($text))
5158             if defined $::RD_TRACE;
5159 33         121 push @item, $item{__STRING2__}=$current_match;
5160            
5161              
5162 33 50       91 Parse::RecDescent::_trace(q{Trying action},
5163             Parse::RecDescent::_tracefirst($text),
5164             q{directive},
5165             $tracelevel)
5166             if defined $::RD_TRACE;
5167            
5168              
5169 33 50       90 $_tok = ($_noactions) ? 0 : do {
5170 33         81 my $key = $item{identifier};
5171 33         64 my $path = $item{optpath};
5172 120     120   414 sub { print $_->get1($path)->{-$key}; }
5173 33         166 };
5174 33 50       103 unless (defined $_tok)
5175             {
5176 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5177             if defined $::RD_TRACE;
5178 0         0 last;
5179             }
5180 33 50       82 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5181             . $_tok . q{])},
5182             Parse::RecDescent::_tracefirst($text))
5183             if defined $::RD_TRACE;
5184 33         67 push @item, $_tok;
5185 33         84 $item{__ACTION1__}=$_tok;
5186            
5187              
5188 33 50       95 Parse::RecDescent::_trace(q{>>Matched production: ['[+' identifier optpath '+]']<<},
5189             Parse::RecDescent::_tracefirst($text),
5190             q{directive},
5191             $tracelevel)
5192             if defined $::RD_TRACE;
5193              
5194              
5195              
5196 33         57 $_matched = 1;
5197 33         130 last;
5198             }
5199              
5200              
5201 248         793 while (!$_matched)
5202             {
5203            
5204 115 50       308 Parse::RecDescent::_trace(q{Trying production: [ ]},
5205             Parse::RecDescent::_tracefirst($_[1]),
5206             q{directive},
5207             $tracelevel)
5208             if defined $::RD_TRACE;
5209 115         5733 my $thisprod = $thisrule->{"prods"}[6];
5210            
5211 115         208 my $_savetext;
5212 115         352 @item = (q{directive});
5213 115         485 %item = (__RULE__ => q{directive});
5214 115         230 my $repcount = 0;
5215              
5216              
5217            
5218              
5219 115 50       427 Parse::RecDescent::_trace(q{Trying directive: []},
5220             Parse::RecDescent::_tracefirst($text),
5221             q{directive},
5222             $tracelevel)
5223             if defined $::RD_TRACE;
5224 115 0       313 $_tok = do { if ($commit) { do {
  115 50       338  
  0         0  
  115         345  
5225 0         0 my $rule = $item[0];
5226 0         0 $rule =~ s/_/ /g;
5227             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
5228 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
5229 0         0 } unless $_noactions; undef } else {0} };
5230 115 50       481 if (defined($_tok))
5231             {
5232 115 50       349 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5233             . $_tok . q{])},
5234             Parse::RecDescent::_tracefirst($text))
5235             if defined $::RD_TRACE;
5236             }
5237             else
5238             {
5239 0 0       0 Parse::RecDescent::_trace(q{<>},
5240             Parse::RecDescent::_tracefirst($text))
5241             if defined $::RD_TRACE;
5242             }
5243            
5244 115 50       306 last unless defined $_tok;
5245 115         533 push @item, $item{__DIRECTIVE1__}=$_tok;
5246            
5247              
5248 115 50       286 Parse::RecDescent::_trace(q{>>Rejecting production<< (found )},
5249             Parse::RecDescent::_tracefirst($text),
5250             q{directive},
5251             $tracelevel)
5252             if defined $::RD_TRACE;
5253 115         169 undef $return;
5254            
5255              
5256 115         225 $_tok = undef;
5257            
5258 115 50       355 last unless defined $_tok;
5259              
5260 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
5261             Parse::RecDescent::_tracefirst($text),
5262             q{directive},
5263             $tracelevel)
5264             if defined $::RD_TRACE;
5265              
5266              
5267              
5268 0         0 $_matched = 1;
5269 0         0 last;
5270             }
5271              
5272              
5273 248   66     837 while (!$_matched && !$commit)
5274             {
5275 115 50       778 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
5276 115 50       320 Parse::RecDescent::_trace(q{Trying production: ['[<' /[^>]+/ '>]' space]},
5277             Parse::RecDescent::_tracefirst($_[1]),
5278             q{directive},
5279             $tracelevel)
5280             if defined $::RD_TRACE;
5281 115         338 my $thisprod = $thisrule->{"prods"}[7];
5282 115         282 $text = $_[1];
5283 115         181 my $_savetext;
5284 115         269 @item = (q{directive});
5285 115         597 %item = (__RULE__ => q{directive});
5286 115         184 my $repcount = 0;
5287              
5288              
5289 115 50       357 Parse::RecDescent::_trace(q{Trying terminal: ['[<']},
5290             Parse::RecDescent::_tracefirst($text),
5291             q{directive},
5292             $tracelevel)
5293             if defined $::RD_TRACE;
5294 115         161 undef $lastsep;
5295 115         441 $expectation->is(q{})->at($text);
5296            
5297              
5298 115 50 66     1416 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\[\
  115 100       1323  
5299             {
5300 114 50       456 $text = $lastsep . $text if defined $lastsep;
5301            
5302 114         449 $expectation->failed();
5303 114 50       623 Parse::RecDescent::_trace(qq{<>},
5304             Parse::RecDescent::_tracefirst($text))
5305             if defined $::RD_TRACE;
5306 114         308 last;
5307             }
5308 1         8 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5309 1         6 substr($text,0,length($current_match),q{});
5310 1 50       5 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5311             . $current_match . q{])},
5312             Parse::RecDescent::_tracefirst($text))
5313             if defined $::RD_TRACE;
5314 1         3 push @item, $item{__STRING1__}=$current_match;
5315            
5316              
5317            
5318              
5319 1 50       3 Parse::RecDescent::_trace(q{Trying directive: []},
5320             Parse::RecDescent::_tracefirst($text),
5321             q{directive},
5322             $tracelevel)
5323             if defined $::RD_TRACE;
5324 1         3 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  1         3  
  1         2  
  1         4  
5325 1 50       5 if (defined($_tok))
5326             {
5327 1 50       5 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5328             . $_tok . q{])},
5329             Parse::RecDescent::_tracefirst($text))
5330             if defined $::RD_TRACE;
5331             }
5332             else
5333             {
5334 0 0       0 Parse::RecDescent::_trace(q{<>},
5335             Parse::RecDescent::_tracefirst($text))
5336             if defined $::RD_TRACE;
5337             }
5338            
5339 1 50       4 last unless defined $_tok;
5340 1         3 push @item, $item{__DIRECTIVE1__}=$_tok;
5341            
5342              
5343            
5344              
5345 1 50       5 Parse::RecDescent::_trace(q{Trying directive: []},
5346             Parse::RecDescent::_tracefirst($text),
5347             q{directive},
5348             $tracelevel)
5349             if defined $::RD_TRACE;
5350 1         2 $_tok = do { $commit = 1 };
  1         3  
5351 1 50       4 if (defined($_tok))
5352             {
5353 1 50       5 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5354             . $_tok . q{])},
5355             Parse::RecDescent::_tracefirst($text))
5356             if defined $::RD_TRACE;
5357             }
5358             else
5359             {
5360 0 0       0 Parse::RecDescent::_trace(q{<>},
5361             Parse::RecDescent::_tracefirst($text))
5362             if defined $::RD_TRACE;
5363             }
5364            
5365 1 50       4 last unless defined $_tok;
5366 1         3 push @item, $item{__DIRECTIVE2__}=$_tok;
5367            
5368              
5369 1 50       5 Parse::RecDescent::_trace(q{Trying terminal: [/[^>]+/]}, Parse::RecDescent::_tracefirst($text),
5370             q{directive},
5371             $tracelevel)
5372             if defined $::RD_TRACE;
5373 1         2 undef $lastsep;
5374 1         4 $expectation->is(q{/[^>]+/})->at($text);
5375            
5376              
5377 1 50 33     19 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[^>]+)/)
  1 50       15  
5378             {
5379 0 0       0 $text = $lastsep . $text if defined $lastsep;
5380 0         0 $expectation->failed();
5381 0 0       0 Parse::RecDescent::_trace(q{<>},
5382             Parse::RecDescent::_tracefirst($text))
5383             if defined $::RD_TRACE;
5384              
5385 0         0 last;
5386             }
5387 1         7 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5388 1         5 substr($text,0,length($current_match),q{});
5389 1 50       5 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5390             . $current_match . q{])},
5391             Parse::RecDescent::_tracefirst($text))
5392             if defined $::RD_TRACE;
5393 1         3 push @item, $item{__PATTERN1__}=$current_match;
5394            
5395              
5396 1 50       3 Parse::RecDescent::_trace(q{Trying terminal: ['>]']},
5397             Parse::RecDescent::_tracefirst($text),
5398             q{directive},
5399             $tracelevel)
5400             if defined $::RD_TRACE;
5401 1         3 undef $lastsep;
5402 1         4 $expectation->is(q{'>]'})->at($text);
5403            
5404              
5405 1 50 33     16 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\>\]/)
  1 50       15  
5406             {
5407 0 0       0 $text = $lastsep . $text if defined $lastsep;
5408            
5409 0         0 $expectation->failed();
5410 0 0       0 Parse::RecDescent::_trace(qq{<>},
5411             Parse::RecDescent::_tracefirst($text))
5412             if defined $::RD_TRACE;
5413 0         0 last;
5414             }
5415 1         5 $current_match = substr($text, $-[0], $+[0] - $-[0]);
5416 1         5 substr($text,0,length($current_match),q{});
5417 1 50       4 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5418             . $current_match . q{])},
5419             Parse::RecDescent::_tracefirst($text))
5420             if defined $::RD_TRACE;
5421 1         4 push @item, $item{__STRING2__}=$current_match;
5422            
5423              
5424 1 50       4 Parse::RecDescent::_trace(q{Trying subrule: [space]},
5425             Parse::RecDescent::_tracefirst($text),
5426             q{directive},
5427             $tracelevel)
5428             if defined $::RD_TRACE;
5429 9     9   115 if (1) { no strict qw{refs};
  9         28  
  9         13830  
  1         2  
5430 1         5 $expectation->is(q{space})->at($text);
5431 1 50   1   14 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::space($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  1         3  
5432             {
5433            
5434 0 0       0 Parse::RecDescent::_trace(q{<>},
5435             Parse::RecDescent::_tracefirst($text),
5436             q{directive},
5437             $tracelevel)
5438             if defined $::RD_TRACE;
5439 0         0 $expectation->failed();
5440 0         0 last;
5441             }
5442 1 50       6 Parse::RecDescent::_trace(q{>>Matched subrule: [space]<< (return value: [}
5443             . $_tok . q{]},
5444              
5445             Parse::RecDescent::_tracefirst($text),
5446             q{directive},
5447             $tracelevel)
5448             if defined $::RD_TRACE;
5449 1         3 $item{q{space}} = $_tok;
5450 1         3 push @item, $_tok;
5451            
5452             }
5453              
5454 1 50       4 Parse::RecDescent::_trace(q{Trying action},
5455             Parse::RecDescent::_tracefirst($text),
5456             q{directive},
5457             $tracelevel)
5458             if defined $::RD_TRACE;
5459            
5460              
5461 1 50       4 $_tok = ($_noactions) ? 0 : do {
5462 1         17 Config::Maker::Driver->load($item[4]);
5463             };
5464 1 50       6 unless (defined $_tok)
5465             {
5466 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5467             if defined $::RD_TRACE;
5468 0         0 last;
5469             }
5470 1 50       5 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5471             . $_tok . q{])},
5472             Parse::RecDescent::_tracefirst($text))
5473             if defined $::RD_TRACE;
5474 1         3 push @item, $_tok;
5475 1         3 $item{__ACTION1__}=$_tok;
5476            
5477              
5478 1 50       5 Parse::RecDescent::_trace(q{>>Matched production: ['[<' /[^>]+/ '>]' space]<<},
5479             Parse::RecDescent::_tracefirst($text),
5480             q{directive},
5481             $tracelevel)
5482             if defined $::RD_TRACE;
5483              
5484              
5485              
5486 1         2 $_matched = 1;
5487 1         4 last;
5488             }
5489              
5490              
5491 248         677 while (!$_matched)
5492             {
5493            
5494 114 50       346 Parse::RecDescent::_trace(q{Trying production: [ ]},
5495             Parse::RecDescent::_tracefirst($_[1]),
5496             q{directive},
5497             $tracelevel)
5498             if defined $::RD_TRACE;
5499 114         367 my $thisprod = $thisrule->{"prods"}[8];
5500            
5501 114         145 my $_savetext;
5502 114         423 @item = (q{directive});
5503 114         302 %item = (__RULE__ => q{directive});
5504 114         194 my $repcount = 0;
5505              
5506              
5507            
5508              
5509 114 50       300 Parse::RecDescent::_trace(q{Trying directive: []},
5510             Parse::RecDescent::_tracefirst($text),
5511             q{directive},
5512             $tracelevel)
5513             if defined $::RD_TRACE;
5514 114 0       139 $_tok = do { if ($commit) { do {
  114 50       289  
  0         0  
  114         229  
5515 0         0 my $rule = $item[0];
5516 0         0 $rule =~ s/_/ /g;
5517             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
5518 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
5519 0         0 } unless $_noactions; undef } else {0} };
5520 114 50       270 if (defined($_tok))
5521             {
5522 114 50       335 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5523             . $_tok . q{])},
5524             Parse::RecDescent::_tracefirst($text))
5525             if defined $::RD_TRACE;
5526             }
5527             else
5528             {
5529 0 0       0 Parse::RecDescent::_trace(q{<>},
5530             Parse::RecDescent::_tracefirst($text))
5531             if defined $::RD_TRACE;
5532             }
5533            
5534 114 50       300 last unless defined $_tok;
5535 114         288 push @item, $item{__DIRECTIVE1__}=$_tok;
5536            
5537              
5538 114 50       299 Parse::RecDescent::_trace(q{>>Rejecting production<< (found )},
5539             Parse::RecDescent::_tracefirst($text),
5540             q{directive},
5541             $tracelevel)
5542             if defined $::RD_TRACE;
5543 114         204 undef $return;
5544            
5545              
5546 114         160 $_tok = undef;
5547            
5548 114 50       311 last unless defined $_tok;
5549              
5550 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
5551             Parse::RecDescent::_tracefirst($text),
5552             q{directive},
5553             $tracelevel)
5554             if defined $::RD_TRACE;
5555              
5556              
5557              
5558 0         0 $_matched = 1;
5559 0         0 last;
5560             }
5561              
5562              
5563 248   66     980 while (!$_matched && !$commit)
5564             {
5565            
5566 114 50       283 Parse::RecDescent::_trace(q{Trying production: [opener directive closer]},
5567             Parse::RecDescent::_tracefirst($_[1]),
5568             q{directive},
5569             $tracelevel)
5570             if defined $::RD_TRACE;
5571 114         310 my $thisprod = $thisrule->{"prods"}[9];
5572 114         292 $text = $_[1];
5573 114         212 my $_savetext;
5574 114         411 @item = (q{directive});
5575 114         315 %item = (__RULE__ => q{directive});
5576 114         174 my $repcount = 0;
5577              
5578              
5579 114 50       283 Parse::RecDescent::_trace(q{Trying subrule: [opener]},
5580             Parse::RecDescent::_tracefirst($text),
5581             q{directive},
5582             $tracelevel)
5583             if defined $::RD_TRACE;
5584 9     9   71 if (1) { no strict qw{refs};
  9         20  
  9         8318  
  114         184  
5585 114         403 $expectation->is(q{})->at($text);
5586 114 100   114   1592 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::opener($thisparser,$text,$repeating,$_noactions,sub { return ['map', perlcode => '()'] },undef)))
  114         535  
5587             {
5588            
5589 113 50       319 Parse::RecDescent::_trace(q{<>},
5590             Parse::RecDescent::_tracefirst($text),
5591             q{directive},
5592             $tracelevel)
5593             if defined $::RD_TRACE;
5594 113         406 $expectation->failed();
5595 113         591 last;
5596             }
5597 1 50       7 Parse::RecDescent::_trace(q{>>Matched subrule: [opener]<< (return value: [}
5598             . $_tok . q{]},
5599              
5600             Parse::RecDescent::_tracefirst($text),
5601             q{directive},
5602             $tracelevel)
5603             if defined $::RD_TRACE;
5604 1         4 $item{q{opener}} = $_tok;
5605 1         2 push @item, $_tok;
5606            
5607             }
5608              
5609            
5610              
5611 1 50       4 Parse::RecDescent::_trace(q{Trying directive: []},
5612             Parse::RecDescent::_tracefirst($text),
5613             q{directive},
5614             $tracelevel)
5615             if defined $::RD_TRACE;
5616 1         3 $_tok = do { $commit = 1 };
  1         2  
5617 1 50       5 if (defined($_tok))
5618             {
5619 1 50       5 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5620             . $_tok . q{])},
5621             Parse::RecDescent::_tracefirst($text))
5622             if defined $::RD_TRACE;
5623             }
5624             else
5625             {
5626 0 0       0 Parse::RecDescent::_trace(q{<>},
5627             Parse::RecDescent::_tracefirst($text))
5628             if defined $::RD_TRACE;
5629             }
5630            
5631 1 50       4 last unless defined $_tok;
5632 1         3 push @item, $item{__DIRECTIVE1__}=$_tok;
5633            
5634              
5635 1 50       4 Parse::RecDescent::_trace(q{Trying repeated subrule: [directive]},
5636             Parse::RecDescent::_tracefirst($text),
5637             q{directive},
5638             $tracelevel)
5639             if defined $::RD_TRACE;
5640 1         6 $expectation->is(q{directive})->at($text);
5641            
5642 1 50   3   18 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::directive, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  3         9  
5643             {
5644 0 0       0 Parse::RecDescent::_trace(q{<>},
5645             Parse::RecDescent::_tracefirst($text),
5646             q{directive},
5647             $tracelevel)
5648             if defined $::RD_TRACE;
5649 0         0 last;
5650             }
5651 1 50       28 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [directive]<< (}
5652             . @$_tok . q{ times)},
5653              
5654             Parse::RecDescent::_tracefirst($text),
5655             q{directive},
5656             $tracelevel)
5657             if defined $::RD_TRACE;
5658 1         3 $item{q{directive(s)}} = $_tok;
5659 1         3 push @item, $_tok;
5660            
5661              
5662              
5663 1 50       4 Parse::RecDescent::_trace(q{Trying subrule: [closer]},
5664             Parse::RecDescent::_tracefirst($text),
5665             q{directive},
5666             $tracelevel)
5667             if defined $::RD_TRACE;
5668 9     9   55 if (1) { no strict qw{refs};
  9         23  
  9         8187  
  1         3  
5669 1         6 $expectation->is(q{closer})->at($text);
5670 1 50   1   17 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::closer($thisparser,$text,$repeating,$_noactions,sub { return ['map'] },undef)))
  1         5  
5671             {
5672            
5673 0 0       0 Parse::RecDescent::_trace(q{<>},
5674             Parse::RecDescent::_tracefirst($text),
5675             q{directive},
5676             $tracelevel)
5677             if defined $::RD_TRACE;
5678 0         0 $expectation->failed();
5679 0         0 last;
5680             }
5681 1 50       7 Parse::RecDescent::_trace(q{>>Matched subrule: [closer]<< (return value: [}
5682             . $_tok . q{]},
5683              
5684             Parse::RecDescent::_tracefirst($text),
5685             q{directive},
5686             $tracelevel)
5687             if defined $::RD_TRACE;
5688 1         4 $item{q{closer}} = $_tok;
5689 1         3 push @item, $_tok;
5690            
5691             }
5692              
5693 1 50       4 Parse::RecDescent::_trace(q{Trying action},
5694             Parse::RecDescent::_tracefirst($text),
5695             q{directive},
5696             $tracelevel)
5697             if defined $::RD_TRACE;
5698            
5699              
5700 1 50       4 $_tok = ($_noactions) ? 0 : do {
5701 1         2 my $expr = $item[1];
5702 1         3 my @parts = @{$item[3]};
  1         4  
5703             sub {
5704 1     1   8 for(Config::Maker::exe($expr)) {
5705 3         10 Config::Maker::Driver::apply(@parts);
5706             }
5707             }
5708 1         6 };
5709 1 50       5 unless (defined $_tok)
5710             {
5711 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5712             if defined $::RD_TRACE;
5713 0         0 last;
5714             }
5715 1 50       3 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5716             . $_tok . q{])},
5717             Parse::RecDescent::_tracefirst($text))
5718             if defined $::RD_TRACE;
5719 1         2 push @item, $_tok;
5720 1         3 $item{__ACTION1__}=$_tok;
5721            
5722              
5723 1 50       4 Parse::RecDescent::_trace(q{>>Matched production: [opener directive closer]<<},
5724             Parse::RecDescent::_tracefirst($text),
5725             q{directive},
5726             $tracelevel)
5727             if defined $::RD_TRACE;
5728              
5729              
5730              
5731 1         3 $_matched = 1;
5732 1         2 last;
5733             }
5734              
5735              
5736 248   66     1337 while (!$_matched && !$commit)
5737             {
5738            
5739 113 50       311 Parse::RecDescent::_trace(q{Trying production: [opener directive closer]},
5740             Parse::RecDescent::_tracefirst($_[1]),
5741             q{directive},
5742             $tracelevel)
5743             if defined $::RD_TRACE;
5744 113         328 my $thisprod = $thisrule->{"prods"}[10];
5745 113         229 $text = $_[1];
5746 113         165 my $_savetext;
5747 113         365 @item = (q{directive});
5748 113         345 %item = (__RULE__ => q{directive});
5749 113         372 my $repcount = 0;
5750              
5751              
5752 113 50       318 Parse::RecDescent::_trace(q{Trying subrule: [opener]},
5753             Parse::RecDescent::_tracefirst($text),
5754             q{directive},
5755             $tracelevel)
5756             if defined $::RD_TRACE;
5757 9     9   145 if (1) { no strict qw{refs};
  9         27  
  9         8404  
  113         152  
5758 113         532 $expectation->is(q{})->at($text);
5759 113 100   113   1343 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::opener($thisparser,$text,$repeating,$_noactions,sub { return ['map', 'path'] },undef)))
  113         437  
5760             {
5761            
5762 88 50       256 Parse::RecDescent::_trace(q{<>},
5763             Parse::RecDescent::_tracefirst($text),
5764             q{directive},
5765             $tracelevel)
5766             if defined $::RD_TRACE;
5767 88         291 $expectation->failed();
5768 88         385 last;
5769             }
5770 25 50       154 Parse::RecDescent::_trace(q{>>Matched subrule: [opener]<< (return value: [}
5771             . $_tok . q{]},
5772              
5773             Parse::RecDescent::_tracefirst($text),
5774             q{directive},
5775             $tracelevel)
5776             if defined $::RD_TRACE;
5777 25         75 $item{q{opener}} = $_tok;
5778 25         66 push @item, $_tok;
5779            
5780             }
5781              
5782            
5783              
5784 25 50       68 Parse::RecDescent::_trace(q{Trying directive: []},
5785             Parse::RecDescent::_tracefirst($text),
5786             q{directive},
5787             $tracelevel)
5788             if defined $::RD_TRACE;
5789 25         78 $_tok = do { $commit = 1 };
  25         59  
5790 25 50       88 if (defined($_tok))
5791             {
5792 25 50       69 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5793             . $_tok . q{])},
5794             Parse::RecDescent::_tracefirst($text))
5795             if defined $::RD_TRACE;
5796             }
5797             else
5798             {
5799 0 0       0 Parse::RecDescent::_trace(q{<>},
5800             Parse::RecDescent::_tracefirst($text))
5801             if defined $::RD_TRACE;
5802             }
5803            
5804 25 50       70 last unless defined $_tok;
5805 25         71 push @item, $item{__DIRECTIVE1__}=$_tok;
5806            
5807              
5808 25 50       72 Parse::RecDescent::_trace(q{Trying repeated subrule: [directive]},
5809             Parse::RecDescent::_tracefirst($text),
5810             q{directive},
5811             $tracelevel)
5812             if defined $::RD_TRACE;
5813 25         116 $expectation->is(q{directive})->at($text);
5814            
5815 25 50   100   466 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::directive, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  100         369  
5816             {
5817 0 0       0 Parse::RecDescent::_trace(q{<>},
5818             Parse::RecDescent::_tracefirst($text),
5819             q{directive},
5820             $tracelevel)
5821             if defined $::RD_TRACE;
5822 0         0 last;
5823             }
5824 25 50       564 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [directive]<< (}
5825             . @$_tok . q{ times)},
5826              
5827             Parse::RecDescent::_tracefirst($text),
5828             q{directive},
5829             $tracelevel)
5830             if defined $::RD_TRACE;
5831 25         81 $item{q{directive(s)}} = $_tok;
5832 25         57 push @item, $_tok;
5833            
5834              
5835              
5836 25 50       81 Parse::RecDescent::_trace(q{Trying subrule: [closer]},
5837             Parse::RecDescent::_tracefirst($text),
5838             q{directive},
5839             $tracelevel)
5840             if defined $::RD_TRACE;
5841 9     9   137 if (1) { no strict qw{refs};
  9         20  
  9         20362  
  25         44  
5842 25         110 $expectation->is(q{closer})->at($text);
5843 25 50   25   871 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::closer($thisparser,$text,$repeating,$_noactions,sub { return ['map'] },undef)))
  25         97  
5844             {
5845            
5846 0 0       0 Parse::RecDescent::_trace(q{<>},
5847             Parse::RecDescent::_tracefirst($text),
5848             q{directive},
5849             $tracelevel)
5850             if defined $::RD_TRACE;
5851 0         0 $expectation->failed();
5852 0         0 last;
5853             }
5854 25 50       114 Parse::RecDescent::_trace(q{>>Matched subrule: [closer]<< (return value: [}
5855             . $_tok . q{]},
5856              
5857             Parse::RecDescent::_tracefirst($text),
5858             q{directive},
5859             $tracelevel)
5860             if defined $::RD_TRACE;
5861 25         73 $item{q{closer}} = $_tok;
5862 25         59 push @item, $_tok;
5863            
5864             }
5865              
5866 25 50       71 Parse::RecDescent::_trace(q{Trying action},
5867             Parse::RecDescent::_tracefirst($text),
5868             q{directive},
5869             $tracelevel)
5870             if defined $::RD_TRACE;
5871            
5872              
5873 25 50       74 $_tok = ($_noactions) ? 0 : do {
5874 25         47 my $path = $item[1];
5875 25         199 my @parts = @{$item[3]};
  25         96  
5876             sub {
5877 58     58   80 for(@{$path->find($_)}) {
  58         265  
5878 110         464 Config::Maker::Driver::apply(@parts);
5879             }
5880             }
5881 25         154 };
5882 25 50       83 unless (defined $_tok)
5883             {
5884 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5885             if defined $::RD_TRACE;
5886 0         0 last;
5887             }
5888 25 50       66 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5889             . $_tok . q{])},
5890             Parse::RecDescent::_tracefirst($text))
5891             if defined $::RD_TRACE;
5892 25         63 push @item, $_tok;
5893 25         68 $item{__ACTION1__}=$_tok;
5894            
5895              
5896 25 50       72 Parse::RecDescent::_trace(q{>>Matched production: [opener directive closer]<<},
5897             Parse::RecDescent::_tracefirst($text),
5898             q{directive},
5899             $tracelevel)
5900             if defined $::RD_TRACE;
5901              
5902              
5903              
5904 25         48 $_matched = 1;
5905 25         94 last;
5906             }
5907              
5908              
5909 248         973 while (!$_matched)
5910             {
5911            
5912 88 50       241 Parse::RecDescent::_trace(q{Trying production: [ ]},
5913             Parse::RecDescent::_tracefirst($_[1]),
5914             q{directive},
5915             $tracelevel)
5916             if defined $::RD_TRACE;
5917 88         247 my $thisprod = $thisrule->{"prods"}[11];
5918            
5919 88         120 my $_savetext;
5920 88         224 @item = (q{directive});
5921 88         230 %item = (__RULE__ => q{directive});
5922 88         155 my $repcount = 0;
5923              
5924              
5925            
5926              
5927 88 50       251 Parse::RecDescent::_trace(q{Trying directive: []},
5928             Parse::RecDescent::_tracefirst($text),
5929             q{directive},
5930             $tracelevel)
5931             if defined $::RD_TRACE;
5932 88 0       125 $_tok = do { if ($commit) { do {
  88 50       212  
  0         0  
  88         349  
5933 0         0 my $rule = $item[0];
5934 0         0 $rule =~ s/_/ /g;
5935             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
5936 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
5937 0         0 } unless $_noactions; undef } else {0} };
5938 88 50       210 if (defined($_tok))
5939             {
5940 88 50       1179 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5941             . $_tok . q{])},
5942             Parse::RecDescent::_tracefirst($text))
5943             if defined $::RD_TRACE;
5944             }
5945             else
5946             {
5947 0 0       0 Parse::RecDescent::_trace(q{<>},
5948             Parse::RecDescent::_tracefirst($text))
5949             if defined $::RD_TRACE;
5950             }
5951            
5952 88 50       214 last unless defined $_tok;
5953 88         392 push @item, $item{__DIRECTIVE1__}=$_tok;
5954            
5955              
5956 88 50       234 Parse::RecDescent::_trace(q{>>Rejecting production<< (found )},
5957             Parse::RecDescent::_tracefirst($text),
5958             q{directive},
5959             $tracelevel)
5960             if defined $::RD_TRACE;
5961 88         117 undef $return;
5962            
5963              
5964 88         128 $_tok = undef;
5965            
5966 88 50       301 last unless defined $_tok;
5967              
5968 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
5969             Parse::RecDescent::_tracefirst($text),
5970             q{directive},
5971             $tracelevel)
5972             if defined $::RD_TRACE;
5973              
5974              
5975              
5976 0         0 $_matched = 1;
5977 0         0 last;
5978             }
5979              
5980              
5981 248   66     736 while (!$_matched && !$commit)
5982             {
5983            
5984 88 50       220 Parse::RecDescent::_trace(q{Trying production: [opener directive ifrest]},
5985             Parse::RecDescent::_tracefirst($_[1]),
5986             q{directive},
5987             $tracelevel)
5988             if defined $::RD_TRACE;
5989 88         231 my $thisprod = $thisrule->{"prods"}[12];
5990 88         189 $text = $_[1];
5991 88         142 my $_savetext;
5992 88         233 @item = (q{directive});
5993 88         569 %item = (__RULE__ => q{directive});
5994 88         131 my $repcount = 0;
5995              
5996              
5997 88 50       336 Parse::RecDescent::_trace(q{Trying subrule: [opener]},
5998             Parse::RecDescent::_tracefirst($text),
5999             q{directive},
6000             $tracelevel)
6001             if defined $::RD_TRACE;
6002 9     9   69 if (1) { no strict qw{refs};
  9         18  
  9         28005  
  88         119  
6003 88         446 $expectation->is(q{})->at($text);
6004 88 100   88   1134 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::opener($thisparser,$text,$repeating,$_noactions,sub { return ['if', perlcode => '()'] },undef)))
  88         450  
6005             {
6006            
6007 86 50       573 Parse::RecDescent::_trace(q{<>},
6008             Parse::RecDescent::_tracefirst($text),
6009             q{directive},
6010             $tracelevel)
6011             if defined $::RD_TRACE;
6012 86         463 $expectation->failed();
6013 86         521 last;
6014             }
6015 2 50       11 Parse::RecDescent::_trace(q{>>Matched subrule: [opener]<< (return value: [}
6016             . $_tok . q{]},
6017              
6018             Parse::RecDescent::_tracefirst($text),
6019             q{directive},
6020             $tracelevel)
6021             if defined $::RD_TRACE;
6022 2         10 $item{q{opener}} = $_tok;
6023 2         65 push @item, $_tok;
6024            
6025             }
6026              
6027            
6028              
6029 2 50       8 Parse::RecDescent::_trace(q{Trying directive: []},
6030             Parse::RecDescent::_tracefirst($text),
6031             q{directive},
6032             $tracelevel)
6033             if defined $::RD_TRACE;
6034 2         3 $_tok = do { $commit = 1 };
  2         5  
6035 2 50       7 if (defined($_tok))
6036             {
6037 2 50       88 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
6038             . $_tok . q{])},
6039             Parse::RecDescent::_tracefirst($text))
6040             if defined $::RD_TRACE;
6041             }
6042             else
6043             {
6044 0 0       0 Parse::RecDescent::_trace(q{<>},
6045             Parse::RecDescent::_tracefirst($text))
6046             if defined $::RD_TRACE;
6047             }
6048            
6049 2 50       8 last unless defined $_tok;
6050 2         7 push @item, $item{__DIRECTIVE1__}=$_tok;
6051            
6052              
6053 2 50       8 Parse::RecDescent::_trace(q{Trying repeated subrule: [directive]},
6054             Parse::RecDescent::_tracefirst($text),
6055             q{directive},
6056             $tracelevel)
6057             if defined $::RD_TRACE;
6058 2         12 $expectation->is(q{directive})->at($text);
6059            
6060 2 50   4   33 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::directive, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  4         14  
6061             {
6062 0 0       0 Parse::RecDescent::_trace(q{<>},
6063             Parse::RecDescent::_tracefirst($text),
6064             q{directive},
6065             $tracelevel)
6066             if defined $::RD_TRACE;
6067 0         0 last;
6068             }
6069 2 50       44 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [directive]<< (}
6070             . @$_tok . q{ times)},
6071              
6072             Parse::RecDescent::_tracefirst($text),
6073             q{directive},
6074             $tracelevel)
6075             if defined $::RD_TRACE;
6076 2         7 $item{q{directive(s)}} = $_tok;
6077 2         5 push @item, $_tok;
6078            
6079              
6080              
6081 2 50       6 Parse::RecDescent::_trace(q{Trying subrule: [ifrest]},
6082             Parse::RecDescent::_tracefirst($text),
6083             q{directive},
6084             $tracelevel)
6085             if defined $::RD_TRACE;
6086 9     9   84 if (1) { no strict qw{refs};
  9         21  
  9         9967  
  2         4  
6087 2         10 $expectation->is(q{ifrest})->at($text);
6088 2 50   2   30 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::ifrest($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  2         7  
6089             {
6090            
6091 0 0       0 Parse::RecDescent::_trace(q{<>},
6092             Parse::RecDescent::_tracefirst($text),
6093             q{directive},
6094             $tracelevel)
6095             if defined $::RD_TRACE;
6096 0         0 $expectation->failed();
6097 0         0 last;
6098             }
6099 2 50       12 Parse::RecDescent::_trace(q{>>Matched subrule: [ifrest]<< (return value: [}
6100             . $_tok . q{]},
6101              
6102             Parse::RecDescent::_tracefirst($text),
6103             q{directive},
6104             $tracelevel)
6105             if defined $::RD_TRACE;
6106 2         7 $item{q{ifrest}} = $_tok;
6107 2         7 push @item, $_tok;
6108            
6109             }
6110              
6111 2 50       6 Parse::RecDescent::_trace(q{Trying action},
6112             Parse::RecDescent::_tracefirst($text),
6113             q{directive},
6114             $tracelevel)
6115             if defined $::RD_TRACE;
6116            
6117              
6118 2 50       7 $_tok = ($_noactions) ? 0 : do {
6119 2         7 my $expr = $item[1];
6120 2         3 my @parts = @{$item[3]};
  2         19  
6121 2         4 my $else = $item[4];
6122             sub {
6123 2 100   2   10 if(Config::Maker::exe($expr)) {
6124 1         6 Config::Maker::Driver::apply(@parts);
6125             } else {
6126 1         6 Config::Maker::Driver::apply($else);
6127             }
6128             }
6129 2         16 };
6130 2 50       8 unless (defined $_tok)
6131             {
6132 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6133             if defined $::RD_TRACE;
6134 0         0 last;
6135             }
6136 2 50       6 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6137             . $_tok . q{])},
6138             Parse::RecDescent::_tracefirst($text))
6139             if defined $::RD_TRACE;
6140 2         5 push @item, $_tok;
6141 2         14 $item{__ACTION1__}=$_tok;
6142            
6143              
6144 2 50       9 Parse::RecDescent::_trace(q{>>Matched production: [opener directive ifrest]<<},
6145             Parse::RecDescent::_tracefirst($text),
6146             q{directive},
6147             $tracelevel)
6148             if defined $::RD_TRACE;
6149              
6150              
6151              
6152 2         4 $_matched = 1;
6153 2         6 last;
6154             }
6155              
6156              
6157 248   66     1088 while (!$_matched && !$commit)
6158             {
6159            
6160 86 50       247 Parse::RecDescent::_trace(q{Trying production: [opener directive ifrest]},
6161             Parse::RecDescent::_tracefirst($_[1]),
6162             q{directive},
6163             $tracelevel)
6164             if defined $::RD_TRACE;
6165 86         456 my $thisprod = $thisrule->{"prods"}[13];
6166 86         168 $text = $_[1];
6167 86         122 my $_savetext;
6168 86         210 @item = (q{directive});
6169 86         307 %item = (__RULE__ => q{directive});
6170 86         152 my $repcount = 0;
6171              
6172              
6173 86 50       457 Parse::RecDescent::_trace(q{Trying subrule: [opener]},
6174             Parse::RecDescent::_tracefirst($text),
6175             q{directive},
6176             $tracelevel)
6177             if defined $::RD_TRACE;
6178 9     9   63 if (1) { no strict qw{refs};
  9         20  
  9         10518  
  86         118  
6179 86         310 $expectation->is(q{})->at($text);
6180 86 100   86   1314 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::opener($thisparser,$text,$repeating,$_noactions,sub { return ['if', pair => ['identifier'], ['path']] },undef)))
  86         738  
6181             {
6182            
6183 83 50       429 Parse::RecDescent::_trace(q{<>},
6184             Parse::RecDescent::_tracefirst($text),
6185             q{directive},
6186             $tracelevel)
6187             if defined $::RD_TRACE;
6188 83         459 $expectation->failed();
6189 83         356 last;
6190             }
6191 3 50       20 Parse::RecDescent::_trace(q{>>Matched subrule: [opener]<< (return value: [}
6192             . $_tok . q{]},
6193              
6194             Parse::RecDescent::_tracefirst($text),
6195             q{directive},
6196             $tracelevel)
6197             if defined $::RD_TRACE;
6198 3         10 $item{q{opener}} = $_tok;
6199 3         8 push @item, $_tok;
6200            
6201             }
6202              
6203            
6204              
6205 3 50       10 Parse::RecDescent::_trace(q{Trying directive: []},
6206             Parse::RecDescent::_tracefirst($text),
6207             q{directive},
6208             $tracelevel)
6209             if defined $::RD_TRACE;
6210 3         5 $_tok = do { $commit = 1 };
  3         8  
6211 3 50       10 if (defined($_tok))
6212             {
6213 3 50       11 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
6214             . $_tok . q{])},
6215             Parse::RecDescent::_tracefirst($text))
6216             if defined $::RD_TRACE;
6217             }
6218             else
6219             {
6220 0 0       0 Parse::RecDescent::_trace(q{<>},
6221             Parse::RecDescent::_tracefirst($text))
6222             if defined $::RD_TRACE;
6223             }
6224            
6225 3 50       14 last unless defined $_tok;
6226 3         11 push @item, $item{__DIRECTIVE1__}=$_tok;
6227            
6228              
6229 3 50       12 Parse::RecDescent::_trace(q{Trying repeated subrule: [directive]},
6230             Parse::RecDescent::_tracefirst($text),
6231             q{directive},
6232             $tracelevel)
6233             if defined $::RD_TRACE;
6234 3         16 $expectation->is(q{directive})->at($text);
6235            
6236 3 50   9   53 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::directive, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  9         22  
6237             {
6238 0 0       0 Parse::RecDescent::_trace(q{<>},
6239             Parse::RecDescent::_tracefirst($text),
6240             q{directive},
6241             $tracelevel)
6242             if defined $::RD_TRACE;
6243 0         0 last;
6244             }
6245 3 50       58 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [directive]<< (}
6246             . @$_tok . q{ times)},
6247              
6248             Parse::RecDescent::_tracefirst($text),
6249             q{directive},
6250             $tracelevel)
6251             if defined $::RD_TRACE;
6252 3         8 $item{q{directive(s)}} = $_tok;
6253 3         7 push @item, $_tok;
6254            
6255              
6256              
6257 3 50       8 Parse::RecDescent::_trace(q{Trying subrule: [ifrest]},
6258             Parse::RecDescent::_tracefirst($text),
6259             q{directive},
6260             $tracelevel)
6261             if defined $::RD_TRACE;
6262 9     9   61 if (1) { no strict qw{refs};
  9         19  
  9         11763  
  3         3  
6263 3         11 $expectation->is(q{ifrest})->at($text);
6264 3 50   3   43 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::ifrest($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  3         7  
6265             {
6266            
6267 0 0       0 Parse::RecDescent::_trace(q{<>},
6268             Parse::RecDescent::_tracefirst($text),
6269             q{directive},
6270             $tracelevel)
6271             if defined $::RD_TRACE;
6272 0         0 $expectation->failed();
6273 0         0 last;
6274             }
6275 3 50       18 Parse::RecDescent::_trace(q{>>Matched subrule: [ifrest]<< (return value: [}
6276             . $_tok . q{]},
6277              
6278             Parse::RecDescent::_tracefirst($text),
6279             q{directive},
6280             $tracelevel)
6281             if defined $::RD_TRACE;
6282 3         7 $item{q{ifrest}} = $_tok;
6283 3         9 push @item, $_tok;
6284            
6285             }
6286              
6287 3 50       10 Parse::RecDescent::_trace(q{Trying action},
6288             Parse::RecDescent::_tracefirst($text),
6289             q{directive},
6290             $tracelevel)
6291             if defined $::RD_TRACE;
6292            
6293              
6294 3 50       9 $_tok = ($_noactions) ? 0 : do {
6295 3         5 my ($test, $path) = @{$item[1]};
  3         11  
6296 3         4 my @parts = @{$item[3]};
  3         9  
6297 3         5 my $else = $item[4];
6298             sub {
6299 21 50   21   71 die "No if test '$test'"
6300             unless $Config::Maker::Path::checks{$test};
6301 21 100       61 if($Config::Maker::Path::checks{$test}($path)) {
6302 6         21 Config::Maker::Driver::apply(@parts);
6303             } else {
6304 15         44 Config::Maker::Driver::apply($else);
6305             }
6306             }
6307 3         26 };
6308 3 50       12 unless (defined $_tok)
6309             {
6310 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6311             if defined $::RD_TRACE;
6312 0         0 last;
6313             }
6314 3 50       7 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6315             . $_tok . q{])},
6316             Parse::RecDescent::_tracefirst($text))
6317             if defined $::RD_TRACE;
6318 3         6 push @item, $_tok;
6319 3         8 $item{__ACTION1__}=$_tok;
6320            
6321              
6322 3 50       8 Parse::RecDescent::_trace(q{>>Matched production: [opener directive ifrest]<<},
6323             Parse::RecDescent::_tracefirst($text),
6324             q{directive},
6325             $tracelevel)
6326             if defined $::RD_TRACE;
6327              
6328              
6329              
6330 3         5 $_matched = 1;
6331 3         6 last;
6332             }
6333              
6334              
6335 248   66     880 while (!$_matched && !$commit)
6336             {
6337            
6338 83 50       210 Parse::RecDescent::_trace(q{Trying production: [opener directive closer]},
6339             Parse::RecDescent::_tracefirst($_[1]),
6340             q{directive},
6341             $tracelevel)
6342             if defined $::RD_TRACE;
6343 83         229 my $thisprod = $thisrule->{"prods"}[14];
6344 83         168 $text = $_[1];
6345 83         113 my $_savetext;
6346 83         219 @item = (q{directive});
6347 83         407 %item = (__RULE__ => q{directive});
6348 83         471 my $repcount = 0;
6349              
6350              
6351 83 50       301 Parse::RecDescent::_trace(q{Trying subrule: [opener]},
6352             Parse::RecDescent::_tracefirst($text),
6353             q{directive},
6354             $tracelevel)
6355             if defined $::RD_TRACE;
6356 9     9   72 if (1) { no strict qw{refs};
  9         14  
  9         11523  
  83         208  
6357 83         321 $expectation->is(q{})->at($text);
6358 83 100   83   943 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::opener($thisparser,$text,$repeating,$_noactions,sub { return ['output', 'identifier'] },undef)))
  83         296  
6359             {
6360            
6361 77 50       203 Parse::RecDescent::_trace(q{<>},
6362             Parse::RecDescent::_tracefirst($text),
6363             q{directive},
6364             $tracelevel)
6365             if defined $::RD_TRACE;
6366 77         264 $expectation->failed();
6367 77         396 last;
6368             }
6369 6 50       32 Parse::RecDescent::_trace(q{>>Matched subrule: [opener]<< (return value: [}
6370             . $_tok . q{]},
6371              
6372             Parse::RecDescent::_tracefirst($text),
6373             q{directive},
6374             $tracelevel)
6375             if defined $::RD_TRACE;
6376 6         15 $item{q{opener}} = $_tok;
6377 6         11 push @item, $_tok;
6378            
6379             }
6380              
6381            
6382              
6383 6 50       16 Parse::RecDescent::_trace(q{Trying directive: []},
6384             Parse::RecDescent::_tracefirst($text),
6385             q{directive},
6386             $tracelevel)
6387             if defined $::RD_TRACE;
6388 6         103 $_tok = do { $commit = 1 };
  6         14  
6389 6 50       18 if (defined($_tok))
6390             {
6391 6 50       17 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
6392             . $_tok . q{])},
6393             Parse::RecDescent::_tracefirst($text))
6394             if defined $::RD_TRACE;
6395             }
6396             else
6397             {
6398 0 0       0 Parse::RecDescent::_trace(q{<>},
6399             Parse::RecDescent::_tracefirst($text))
6400             if defined $::RD_TRACE;
6401             }
6402            
6403 6 50       16 last unless defined $_tok;
6404 6         15 push @item, $item{__DIRECTIVE1__}=$_tok;
6405            
6406              
6407 6 50       16 Parse::RecDescent::_trace(q{Trying repeated subrule: [directive]},
6408             Parse::RecDescent::_tracefirst($text),
6409             q{directive},
6410             $tracelevel)
6411             if defined $::RD_TRACE;
6412 6         24 $expectation->is(q{directive})->at($text);
6413            
6414 6 50   12   91 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::directive, 1, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  12         29  
6415             {
6416 0 0       0 Parse::RecDescent::_trace(q{<>},
6417             Parse::RecDescent::_tracefirst($text),
6418             q{directive},
6419             $tracelevel)
6420             if defined $::RD_TRACE;
6421 0         0 last;
6422             }
6423 6 50       987 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [directive]<< (}
6424             . @$_tok . q{ times)},
6425              
6426             Parse::RecDescent::_tracefirst($text),
6427             q{directive},
6428             $tracelevel)
6429             if defined $::RD_TRACE;
6430 6         26 $item{q{directive(s)}} = $_tok;
6431 6         16 push @item, $_tok;
6432            
6433              
6434              
6435 6 50       24 Parse::RecDescent::_trace(q{Trying subrule: [closer]},
6436             Parse::RecDescent::_tracefirst($text),
6437             q{directive},
6438             $tracelevel)
6439             if defined $::RD_TRACE;
6440 9     9   68 if (1) { no strict qw{refs};
  9         16  
  9         27937  
  6         89  
6441 6         128 $expectation->is(q{closer})->at($text);
6442 6 50   6   241 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::closer($thisparser,$text,$repeating,$_noactions,sub { return ['output'] },undef)))
  6         22  
6443             {
6444            
6445 0 0       0 Parse::RecDescent::_trace(q{<>},
6446             Parse::RecDescent::_tracefirst($text),
6447             q{directive},
6448             $tracelevel)
6449             if defined $::RD_TRACE;
6450 0         0 $expectation->failed();
6451 0         0 last;
6452             }
6453 6 50       33 Parse::RecDescent::_trace(q{>>Matched subrule: [closer]<< (return value: [}
6454             . $_tok . q{]},
6455              
6456             Parse::RecDescent::_tracefirst($text),
6457             q{directive},
6458             $tracelevel)
6459             if defined $::RD_TRACE;
6460 6         18 $item{q{closer}} = $_tok;
6461 6         13 push @item, $_tok;
6462            
6463             }
6464              
6465 6 50       20 Parse::RecDescent::_trace(q{Trying action},
6466             Parse::RecDescent::_tracefirst($text),
6467             q{directive},
6468             $tracelevel)
6469             if defined $::RD_TRACE;
6470            
6471              
6472 6 50       21 $_tok = ($_noactions) ? 0 : do {
6473 6         14 my $key = $item[1];
6474 6         99 my @parts = @{$item[3]};
  6         21  
6475 6 0       52 my ($cache, $output) =
    50          
    100          
    100          
    50          
    50          
6476             $key eq 'all' ? (1, 1) :
6477             $key eq 'both' ? (1, 1) :
6478             $key eq 'only-cache' ? (1, 0) :
6479             $key eq 'no-cache' ? (0, 1) :
6480             $key eq 'only-out' ? (0, 1) :
6481             $key eq 'no-out' ? (1, 0) :
6482             die "Bad output option: $key";
6483             sub {
6484 6 50   6   54 die "output limiting only works when cache is enabled"
6485             unless UNIVERSAL::isa(select(), 'Config::Maker::Tee');
6486 6         16 local $Config::Maker::Tee::CACHE = $cache;
6487 6         13 local $Config::Maker::Tee::OUT = $output;
6488 6         31 Config::Maker::Driver::apply(@parts);
6489             }
6490 6         67 };
6491 6 50       24 unless (defined $_tok)
6492             {
6493 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6494             if defined $::RD_TRACE;
6495 0         0 last;
6496             }
6497 6 50       217 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6498             . $_tok . q{])},
6499             Parse::RecDescent::_tracefirst($text))
6500             if defined $::RD_TRACE;
6501 6         11 push @item, $_tok;
6502 6         28 $item{__ACTION1__}=$_tok;
6503            
6504              
6505 6 50       17 Parse::RecDescent::_trace(q{>>Matched production: [opener directive closer]<<},
6506             Parse::RecDescent::_tracefirst($text),
6507             q{directive},
6508             $tracelevel)
6509             if defined $::RD_TRACE;
6510              
6511              
6512              
6513 6         10 $_matched = 1;
6514 6         15 last;
6515             }
6516              
6517              
6518 248 100 66     1066 unless ( $_matched || defined($score) )
6519             {
6520            
6521              
6522 77         171 $_[1] = $text; # NOT SURE THIS IS NEEDED
6523 77 50       215 Parse::RecDescent::_trace(q{<>},
6524             Parse::RecDescent::_tracefirst($_[1]),
6525             q{directive},
6526             $tracelevel)
6527             if defined $::RD_TRACE;
6528 77         604 return undef;
6529             }
6530 171 50 33     1121 if (!defined($return) && defined($score))
6531             {
6532 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6533             q{directive},
6534             $tracelevel)
6535             if defined $::RD_TRACE;
6536 0         0 $return = $score_return;
6537             }
6538 171         230 splice @{$thisparser->{errors}}, $err_at;
  171         566  
6539 171 50       609 $return = $item[$#item] unless defined $return;
6540 171 50       422 if (defined $::RD_TRACE)
6541             {
6542 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6543             $return . q{])}, "",
6544             q{directive},
6545             $tracelevel);
6546 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6547             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6548             Parse::RecDescent::_tracefirst($text),
6549             , q{directive},
6550             $tracelevel)
6551             }
6552 171         660 $_[1] = $text;
6553 171         1930 return $return;
6554             }
6555              
6556             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6557             sub Parse::RecDescent::Config::Maker::Grammar::block
6558             {
6559 1267     1267   1993 my $thisparser = $_[0];
6560 9     9   90 use vars q{$tracelevel};
  9         23  
  9         36010  
6561 1267   50     3797 local $tracelevel = ($tracelevel||0)+1;
6562 1267         2373 $ERRORS = 0;
6563 1267         7508 my $thisrule = $thisparser->{"rules"}{"block"};
6564              
6565 1267 50       3183 Parse::RecDescent::_trace(q{Trying rule: [block]},
6566             Parse::RecDescent::_tracefirst($_[1]),
6567             q{block},
6568             $tracelevel)
6569             if defined $::RD_TRACE;
6570              
6571            
6572 1267         1724 my $err_at = @{$thisparser->{errors}};
  1267         2627  
6573              
6574 1267         1888 my $score;
6575             my $score_return;
6576 0         0 my $_tok;
6577 1267         2721 my $return = undef;
6578 1267         2047 my $_matched=0;
6579 1267         1781 my $commit=0;
6580 1267         14056 my @item = ();
6581 1267         3014 my %item = ();
6582 1267         1737 my $repeating = $_[2];
6583 1267         1503 my $_noactions = $_[3];
6584 1267 50       2754 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  1267         1586  
  1267         5643  
6585 1267         3192 my $_itempos = $_[5];
6586 1267 50       15732 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6587 1267         3212 my $text;
6588             my $lastsep;
6589 0         0 my $current_match;
6590 1267         4913 my $expectation = new Parse::RecDescent::Expectation(q{'\{', or '<'});
6591 1267         12866 $expectation->at($_[1]);
6592            
6593 1267         5776 my $thisline;
6594 1267         6264 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6595              
6596            
6597              
6598 1267   33     15312 while (!$_matched && !$commit)
6599             {
6600            
6601 1267 50       3639 Parse::RecDescent::_trace(q{Trying production: ['\{' option '\}']},
6602             Parse::RecDescent::_tracefirst($_[1]),
6603             q{block},
6604             $tracelevel)
6605             if defined $::RD_TRACE;
6606 1267         3045 my $thisprod = $thisrule->{"prods"}[0];
6607 1267         2105 $text = $_[1];
6608 1267         1615 my $_savetext;
6609 1267         4081 @item = (q{block});
6610 1267         3148 %item = (__RULE__ => q{block});
6611 1267         2955 my $repcount = 0;
6612              
6613              
6614 1267 50       3054 Parse::RecDescent::_trace(q{Trying terminal: ['\{']},
6615             Parse::RecDescent::_tracefirst($text),
6616             q{block},
6617             $tracelevel)
6618             if defined $::RD_TRACE;
6619 1267         1887 undef $lastsep;
6620 1267         6269 $expectation->is(q{})->at($text);
6621            
6622              
6623 1267 100 66     30527 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\{/)
  1267 100       16599  
6624             {
6625 1029 50       5087 $text = $lastsep . $text if defined $lastsep;
6626            
6627 1029         29216 $expectation->failed();
6628 1029 50       5885 Parse::RecDescent::_trace(qq{<>},
6629             Parse::RecDescent::_tracefirst($text))
6630             if defined $::RD_TRACE;
6631 1029         2456 last;
6632             }
6633 238         1684 $current_match = substr($text, $-[0], $+[0] - $-[0]);
6634 238         1130 substr($text,0,length($current_match),q{});
6635 238 50       716 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6636             . $current_match . q{])},
6637             Parse::RecDescent::_tracefirst($text))
6638             if defined $::RD_TRACE;
6639 238         682 push @item, $item{__STRING1__}=$current_match;
6640            
6641              
6642 238 50       680 Parse::RecDescent::_trace(q{Trying repeated subrule: [option]},
6643             Parse::RecDescent::_tracefirst($text),
6644             q{block},
6645             $tracelevel)
6646             if defined $::RD_TRACE;
6647 238         957 $expectation->is(q{option})->at($text);
6648            
6649 238 50   633   4198 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::option, 0, 100000000, $_noactions,$expectation,sub { return [$arg[0]] },undef)))
  633         2721  
6650             {
6651 0 0       0 Parse::RecDescent::_trace(q{<>},
6652             Parse::RecDescent::_tracefirst($text),
6653             q{block},
6654             $tracelevel)
6655             if defined $::RD_TRACE;
6656 0         0 last;
6657             }
6658 238 50       5083 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [option]<< (}
6659             . @$_tok . q{ times)},
6660              
6661             Parse::RecDescent::_tracefirst($text),
6662             q{block},
6663             $tracelevel)
6664             if defined $::RD_TRACE;
6665 238         627 $item{q{option(s?)}} = $_tok;
6666 238         895 push @item, $_tok;
6667            
6668              
6669              
6670 238 50       779 Parse::RecDescent::_trace(q{Trying terminal: ['\}']},
6671             Parse::RecDescent::_tracefirst($text),
6672             q{block},
6673             $tracelevel)
6674             if defined $::RD_TRACE;
6675 238         377 undef $lastsep;
6676 238         5569 $expectation->is(q{'\}'})->at($text);
6677            
6678              
6679 238 50 33     10266 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\}/)
  238 50       6134  
6680             {
6681 0 0       0 $text = $lastsep . $text if defined $lastsep;
6682            
6683 0         0 $expectation->failed();
6684 0 0       0 Parse::RecDescent::_trace(qq{<>},
6685             Parse::RecDescent::_tracefirst($text))
6686             if defined $::RD_TRACE;
6687 0         0 last;
6688             }
6689 238         1998 $current_match = substr($text, $-[0], $+[0] - $-[0]);
6690 238         1210 substr($text,0,length($current_match),q{});
6691 238 50       1117 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6692             . $current_match . q{])},
6693             Parse::RecDescent::_tracefirst($text))
6694             if defined $::RD_TRACE;
6695 238         20667 push @item, $item{__STRING2__}=$current_match;
6696            
6697              
6698 238 50       19929 Parse::RecDescent::_trace(q{Trying action},
6699             Parse::RecDescent::_tracefirst($text),
6700             q{block},
6701             $tracelevel)
6702             if defined $::RD_TRACE;
6703            
6704              
6705 238 50       588 $_tok = ($_noactions) ? 0 : do { $item[2]; };
  238         455  
6706 238 50       682 unless (defined $_tok)
6707             {
6708 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6709             if defined $::RD_TRACE;
6710 0         0 last;
6711             }
6712 238 50       580 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6713             . $_tok . q{])},
6714             Parse::RecDescent::_tracefirst($text))
6715             if defined $::RD_TRACE;
6716 238         428 push @item, $_tok;
6717 238         630 $item{__ACTION1__}=$_tok;
6718            
6719              
6720 238 50       547 Parse::RecDescent::_trace(q{>>Matched production: ['\{' option '\}']<<},
6721             Parse::RecDescent::_tracefirst($text),
6722             q{block},
6723             $tracelevel)
6724             if defined $::RD_TRACE;
6725              
6726              
6727              
6728 238         417 $_matched = 1;
6729 238         675 last;
6730             }
6731              
6732              
6733 1267   66     5056 while (!$_matched && !$commit)
6734             {
6735 1029 50       3240 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
6736 1029 50       2967 Parse::RecDescent::_trace(q{Trying production: ['<' /[^>]+/ '>']},
6737             Parse::RecDescent::_tracefirst($_[1]),
6738             q{block},
6739             $tracelevel)
6740             if defined $::RD_TRACE;
6741 1029         2484 my $thisprod = $thisrule->{"prods"}[1];
6742 1029         2331 $text = $_[1];
6743 1029         1292 my $_savetext;
6744 1029         3366 @item = (q{block});
6745 1029         2839 %item = (__RULE__ => q{block});
6746 1029         1408 my $repcount = 0;
6747              
6748              
6749 1029 50       2595 Parse::RecDescent::_trace(q{Trying terminal: ['<']},
6750             Parse::RecDescent::_tracefirst($text),
6751             q{block},
6752             $tracelevel)
6753             if defined $::RD_TRACE;
6754 1029         3111 undef $lastsep;
6755 1029         3331 $expectation->is(q{})->at($text);
6756            
6757              
6758 1029 100 66     14213 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\
  1029 100       31380  
6759             {
6760 1025 50       5836 $text = $lastsep . $text if defined $lastsep;
6761            
6762 1025         3550 $expectation->failed();
6763 1025 50       11116 Parse::RecDescent::_trace(qq{<>},
6764             Parse::RecDescent::_tracefirst($text))
6765             if defined $::RD_TRACE;
6766 1025         2247 last;
6767             }
6768 4         35 $current_match = substr($text, $-[0], $+[0] - $-[0]);
6769 4         22 substr($text,0,length($current_match),q{});
6770 4 50       19 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6771             . $current_match . q{])},
6772             Parse::RecDescent::_tracefirst($text))
6773             if defined $::RD_TRACE;
6774 4         15 push @item, $item{__STRING1__}=$current_match;
6775            
6776              
6777            
6778              
6779 4 50       16 Parse::RecDescent::_trace(q{Trying directive: []},
6780             Parse::RecDescent::_tracefirst($text),
6781             q{block},
6782             $tracelevel)
6783             if defined $::RD_TRACE;
6784 4         9 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  4         10  
  4         9  
  4         10  
6785 4 50       18 if (defined($_tok))
6786             {
6787 4 50       18 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
6788             . $_tok . q{])},
6789             Parse::RecDescent::_tracefirst($text))
6790             if defined $::RD_TRACE;
6791             }
6792             else
6793             {
6794 0 0       0 Parse::RecDescent::_trace(q{<>},
6795             Parse::RecDescent::_tracefirst($text))
6796             if defined $::RD_TRACE;
6797             }
6798            
6799 4 50       18 last unless defined $_tok;
6800 4         13 push @item, $item{__DIRECTIVE1__}=$_tok;
6801            
6802              
6803 4 50       13 Parse::RecDescent::_trace(q{Trying terminal: [/[^>]+/]}, Parse::RecDescent::_tracefirst($text),
6804             q{block},
6805             $tracelevel)
6806             if defined $::RD_TRACE;
6807 4         9 undef $lastsep;
6808 4         20 $expectation->is(q{/[^>]+/})->at($text);
6809            
6810              
6811 4 50 33     64 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[^>]+)/)
  4 50       62  
6812             {
6813 0 0       0 $text = $lastsep . $text if defined $lastsep;
6814 0         0 $expectation->failed();
6815 0 0       0 Parse::RecDescent::_trace(q{<>},
6816             Parse::RecDescent::_tracefirst($text))
6817             if defined $::RD_TRACE;
6818              
6819 0         0 last;
6820             }
6821 4         32 $current_match = substr($text, $-[0], $+[0] - $-[0]);
6822 4         18 substr($text,0,length($current_match),q{});
6823 4 50       16 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6824             . $current_match . q{])},
6825             Parse::RecDescent::_tracefirst($text))
6826             if defined $::RD_TRACE;
6827 4         13 push @item, $item{__PATTERN1__}=$current_match;
6828            
6829              
6830 4 50       13 Parse::RecDescent::_trace(q{Trying terminal: ['>']},
6831             Parse::RecDescent::_tracefirst($text),
6832             q{block},
6833             $tracelevel)
6834             if defined $::RD_TRACE;
6835 4         6 undef $lastsep;
6836 4         17 $expectation->is(q{'>'})->at($text);
6837            
6838              
6839 4 50 33     56 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\>/)
  4 50       58  
6840             {
6841 0 0       0 $text = $lastsep . $text if defined $lastsep;
6842            
6843 0         0 $expectation->failed();
6844 0 0       0 Parse::RecDescent::_trace(qq{<>},
6845             Parse::RecDescent::_tracefirst($text))
6846             if defined $::RD_TRACE;
6847 0         0 last;
6848             }
6849 4         26 $current_match = substr($text, $-[0], $+[0] - $-[0]);
6850 4         19 substr($text,0,length($current_match),q{});
6851 4 50       15 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6852             . $current_match . q{])},
6853             Parse::RecDescent::_tracefirst($text))
6854             if defined $::RD_TRACE;
6855 4         14 push @item, $item{__STRING2__}=$current_match;
6856            
6857              
6858 4 50       14 Parse::RecDescent::_trace(q{Trying action},
6859             Parse::RecDescent::_tracefirst($text),
6860             q{block},
6861             $tracelevel)
6862             if defined $::RD_TRACE;
6863            
6864              
6865 4 50       14 $_tok = ($_noactions) ? 0 : do {
6866 4         65 Config::Maker::Config->read($item[3], $arg[0]);
6867             };
6868 4 50       18 unless (defined $_tok)
6869             {
6870 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6871             if defined $::RD_TRACE;
6872 0         0 last;
6873             }
6874 4 50       17 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6875             . $_tok . q{])},
6876             Parse::RecDescent::_tracefirst($text))
6877             if defined $::RD_TRACE;
6878 4         11 push @item, $_tok;
6879 4         12 $item{__ACTION1__}=$_tok;
6880            
6881              
6882 4 50       12 Parse::RecDescent::_trace(q{>>Matched production: ['<' /[^>]+/ '>']<<},
6883             Parse::RecDescent::_tracefirst($text),
6884             q{block},
6885             $tracelevel)
6886             if defined $::RD_TRACE;
6887              
6888              
6889              
6890 4         8 $_matched = 1;
6891 4         18 last;
6892             }
6893              
6894              
6895 1267         3525 while (!$_matched)
6896             {
6897            
6898 1025 50       2444 Parse::RecDescent::_trace(q{Trying production: []},
6899             Parse::RecDescent::_tracefirst($_[1]),
6900             q{block},
6901             $tracelevel)
6902             if defined $::RD_TRACE;
6903 1025         2392 my $thisprod = $thisrule->{"prods"}[2];
6904            
6905 1025         1296 my $_savetext;
6906 1025         3117 @item = (q{block});
6907 1025         10444 %item = (__RULE__ => q{block});
6908 1025         3177 my $repcount = 0;
6909              
6910              
6911            
6912              
6913 1025 50       2484 Parse::RecDescent::_trace(q{Trying directive: []},
6914             Parse::RecDescent::_tracefirst($text),
6915             q{block},
6916             $tracelevel)
6917             if defined $::RD_TRACE;
6918 1025 50       1357 $_tok = do { if (1) { do {
  1025         1287  
  1025         5725  
6919 1025         1598 my $rule = $item[0];
6920 1025         1946 $rule =~ s/_/ /g;
6921             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
6922 1025         1216 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  1025         5779  
6923 1025         45914 } unless $_noactions; undef } else {0} };
6924 1025 50       2789 if (defined($_tok))
6925             {
6926 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
6927             . $_tok . q{])},
6928             Parse::RecDescent::_tracefirst($text))
6929             if defined $::RD_TRACE;
6930             }
6931             else
6932             {
6933 1025 50       3568 Parse::RecDescent::_trace(q{<>},
6934             Parse::RecDescent::_tracefirst($text))
6935             if defined $::RD_TRACE;
6936             }
6937            
6938 1025 50       4949 last unless defined $_tok;
6939 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
6940            
6941              
6942 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
6943             Parse::RecDescent::_tracefirst($text),
6944             q{block},
6945             $tracelevel)
6946             if defined $::RD_TRACE;
6947              
6948              
6949              
6950 0         0 $_matched = 1;
6951 0         0 last;
6952             }
6953              
6954              
6955 1267 100 66     5777 unless ( $_matched || defined($score) )
6956             {
6957            
6958              
6959 1025         2015 $_[1] = $text; # NOT SURE THIS IS NEEDED
6960 1025 50       2313 Parse::RecDescent::_trace(q{<>},
6961             Parse::RecDescent::_tracefirst($_[1]),
6962             q{block},
6963             $tracelevel)
6964             if defined $::RD_TRACE;
6965 1025         9608 return undef;
6966             }
6967 242 50 33     1994 if (!defined($return) && defined($score))
6968             {
6969 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6970             q{block},
6971             $tracelevel)
6972             if defined $::RD_TRACE;
6973 0         0 $return = $score_return;
6974             }
6975 242         4247 splice @{$thisparser->{errors}}, $err_at;
  242         818  
6976 242 50       1042 $return = $item[$#item] unless defined $return;
6977 242 50       3084 if (defined $::RD_TRACE)
6978             {
6979 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6980             $return . q{])}, "",
6981             q{block},
6982             $tracelevel);
6983 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6984             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6985             Parse::RecDescent::_tracefirst($text),
6986             , q{block},
6987             $tracelevel)
6988             }
6989 242         638 $_[1] = $text;
6990 242         3354 return $return;
6991             }
6992              
6993             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
6994             sub Parse::RecDescent::Config::Maker::Grammar::value_ipv4
6995             {
6996 12     12   28 my $thisparser = $_[0];
6997 9     9   98 use vars q{$tracelevel};
  9         21  
  9         7422  
6998 12   50     61 local $tracelevel = ($tracelevel||0)+1;
6999 12         19 $ERRORS = 0;
7000 12         44 my $thisrule = $thisparser->{"rules"}{"value_ipv4"};
7001              
7002 12 50       37 Parse::RecDescent::_trace(q{Trying rule: [value_ipv4]},
7003             Parse::RecDescent::_tracefirst($_[1]),
7004             q{value_ipv4},
7005             $tracelevel)
7006             if defined $::RD_TRACE;
7007              
7008            
7009 12         19 my $err_at = @{$thisparser->{errors}};
  12         32  
7010              
7011 12         27 my $score;
7012             my $score_return;
7013 0         0 my $_tok;
7014 12         19 my $return = undef;
7015 12         22 my $_matched=0;
7016 12         16 my $commit=0;
7017 12         42 my @item = ();
7018 12         28 my %item = ();
7019 12         22 my $repeating = $_[2];
7020 12         20 my $_noactions = $_[3];
7021 12 50       38 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  12         17  
  12         31  
7022 12         29 my $_itempos = $_[5];
7023 12 50       50 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7024 12         22 my $text;
7025             my $lastsep;
7026 0         0 my $current_match;
7027 12         49 my $expectation = new Parse::RecDescent::Expectation(q{});
7028 12         116 $expectation->at($_[1]);
7029            
7030 12         208 my $thisline;
7031 12         149 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7032              
7033            
7034              
7035 12   33     145 while (!$_matched && !$commit)
7036             {
7037 12 50       44 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
7038 12 50       32 Parse::RecDescent::_trace(q{Trying production: [ ]},
7039             Parse::RecDescent::_tracefirst($_[1]),
7040             q{value_ipv4},
7041             $tracelevel)
7042             if defined $::RD_TRACE;
7043 12         46 my $thisprod = $thisrule->{"prods"}[0];
7044 12         28 $text = $_[1];
7045 12         2628 my $_savetext;
7046 12         42 @item = (q{value_ipv4});
7047 12         55 %item = (__RULE__ => q{value_ipv4});
7048 12         25 my $repcount = 0;
7049              
7050              
7051            
7052              
7053 12 50       302 Parse::RecDescent::_trace(q{Trying directive: []},
7054             Parse::RecDescent::_tracefirst($text),
7055             q{value_ipv4},
7056             $tracelevel)
7057             if defined $::RD_TRACE;
7058 12         23 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  12         28  
  12         23  
  12         25  
7059 12 50       43 if (defined($_tok))
7060             {
7061 12 50       34 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
7062             . $_tok . q{])},
7063             Parse::RecDescent::_tracefirst($text))
7064             if defined $::RD_TRACE;
7065             }
7066             else
7067             {
7068 0 0       0 Parse::RecDescent::_trace(q{<>},
7069             Parse::RecDescent::_tracefirst($text))
7070             if defined $::RD_TRACE;
7071             }
7072            
7073 12 50       84 last unless defined $_tok;
7074 12         44 push @item, $item{__DIRECTIVE1__}=$_tok;
7075            
7076              
7077 12 50       109 Parse::RecDescent::_trace(q{Trying operator: []},
7078             Parse::RecDescent::_tracefirst($text),
7079             q{value_ipv4},
7080             $tracelevel)
7081             if defined $::RD_TRACE;
7082 12         53 $expectation->is(q{})->at($text);
7083              
7084 12         99 $_tok = undef;
7085 12         17 OPLOOP: while (1)
7086             {
7087 12         23 $repcount = 0;
7088 12         21 my @item;
7089             my %item;
7090              
7091             # MATCH LEFTARG
7092            
7093 12 50       77 Parse::RecDescent::_trace(q{Trying subrule: [byte]},
7094             Parse::RecDescent::_tracefirst($text),
7095             q{value_ipv4},
7096             $tracelevel)
7097             if defined $::RD_TRACE;
7098 9     9   100 if (1) { no strict qw{refs};
  9         32  
  9         5616  
  12         21  
7099 12         51 $expectation->is(q{byte})->at($text);
7100 12 50   12   172 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::byte($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  12         40  
7101             {
7102            
7103 0 0       0 Parse::RecDescent::_trace(q{<>},
7104             Parse::RecDescent::_tracefirst($text),
7105             q{value_ipv4},
7106             $tracelevel)
7107             if defined $::RD_TRACE;
7108 0         0 $expectation->failed();
7109 0         0 last;
7110             }
7111 12 50       64 Parse::RecDescent::_trace(q{>>Matched subrule: [byte]<< (return value: [}
7112             . $_tok . q{]},
7113              
7114             Parse::RecDescent::_tracefirst($text),
7115             q{value_ipv4},
7116             $tracelevel)
7117             if defined $::RD_TRACE;
7118 12         28 $item{q{byte}} = $_tok;
7119 12         22 push @item, $_tok;
7120            
7121             }
7122              
7123              
7124              
7125 12         22 $repcount++;
7126              
7127 12         23 my $savetext = $text;
7128 12         20 my $backtrack;
7129              
7130             # MATCH (OP RIGHTARG)(s)
7131 12         138 while ($repcount < 100000000)
7132             {
7133 48         69 $backtrack = 0;
7134            
7135 48 50       137 Parse::RecDescent::_trace(q{Trying terminal: ['.']},
7136             Parse::RecDescent::_tracefirst($text),
7137             q{value_ipv4},
7138             $tracelevel)
7139             if defined $::RD_TRACE;
7140 48         136 undef $lastsep;
7141 48         170 $expectation->is(q{'.'})->at($text);
7142            
7143              
7144 48 50 66     920 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\./)
  48 100       1264  
7145             {
7146 12 50       51 $text = $lastsep . $text if defined $lastsep;
7147            
7148 12         46 $expectation->failed();
7149 12 50       323 Parse::RecDescent::_trace(qq{<>},
7150             Parse::RecDescent::_tracefirst($text))
7151             if defined $::RD_TRACE;
7152 12         68 last;
7153             }
7154 36         382 $current_match = substr($text, $-[0], $+[0] - $-[0]);
7155 36         313 substr($text,0,length($current_match),q{});
7156 36 50       88 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7157             . $current_match . q{])},
7158             Parse::RecDescent::_tracefirst($text))
7159             if defined $::RD_TRACE;
7160 36         289 push @item, $item{__STRING1__}=$current_match;
7161            
7162              
7163 36         127 pop @item;
7164            
7165            
7166 36 50       591 Parse::RecDescent::_trace(q{Trying subrule: [byte]},
7167             Parse::RecDescent::_tracefirst($text),
7168             q{value_ipv4},
7169             $tracelevel)
7170             if defined $::RD_TRACE;
7171 9     9   80 if (1) { no strict qw{refs};
  9         32  
  9         13800  
  36         45  
7172 36         362 $expectation->is(q{byte})->at($text);
7173 36 50   36   884 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::byte($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  36         93  
7174             {
7175            
7176 0 0       0 Parse::RecDescent::_trace(q{<>},
7177             Parse::RecDescent::_tracefirst($text),
7178             q{value_ipv4},
7179             $tracelevel)
7180             if defined $::RD_TRACE;
7181 0         0 $expectation->failed();
7182 0         0 last;
7183             }
7184 36 50       152 Parse::RecDescent::_trace(q{>>Matched subrule: [byte]<< (return value: [}
7185             . $_tok . q{]},
7186              
7187             Parse::RecDescent::_tracefirst($text),
7188             q{value_ipv4},
7189             $tracelevel)
7190             if defined $::RD_TRACE;
7191 36         67 $item{q{byte}} = $_tok;
7192 36         67 push @item, $_tok;
7193            
7194             }
7195              
7196 36         65 $savetext = $text;
7197 36         111 $repcount++;
7198             }
7199 12         35 $text = $savetext;
7200 12 50       37 pop @item if $backtrack;
7201              
7202 12 50       47 unless (@item) { undef $_tok; last }
  0         0  
  0         0  
7203 12         51 $_tok = [ @item ];
7204              
7205 12         602 last;
7206             } # end of OPLOOP
7207              
7208 12 50       39 unless ($repcount>=1)
7209             {
7210 0 0       0 Parse::RecDescent::_trace(q{<]>>},
7211             Parse::RecDescent::_tracefirst($text),
7212             q{value_ipv4},
7213             $tracelevel)
7214             if defined $::RD_TRACE;
7215 0         0 $expectation->failed();
7216 0         0 last;
7217             }
7218 12 50       194 Parse::RecDescent::_trace(q{>>Matched operator: []<< (return value: [}
7219 0 0       0 . qq{@{$_tok||[]}} . q{]},
7220             Parse::RecDescent::_tracefirst($text),
7221             q{value_ipv4},
7222             $tracelevel)
7223             if defined $::RD_TRACE;
7224              
7225 12   50     78 push @item, $item{__DIRECTIVE2__}=$_tok||[];
7226              
7227 12 50       33 Parse::RecDescent::_trace(q{Trying action},
7228             Parse::RecDescent::_tracefirst($text),
7229             q{value_ipv4},
7230             $tracelevel)
7231             if defined $::RD_TRACE;
7232            
7233              
7234 12 50       32 $_tok = ($_noactions) ? 0 : do { @{$item[2]} == 4 ? join '.', @{$item[2]} : undef; };
  12 50       20  
  12         42  
  12         74  
7235 12 50       36 unless (defined $_tok)
7236             {
7237 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
7238             if defined $::RD_TRACE;
7239 0         0 last;
7240             }
7241 12 50       34 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7242             . $_tok . q{])},
7243             Parse::RecDescent::_tracefirst($text))
7244             if defined $::RD_TRACE;
7245 12         52 push @item, $_tok;
7246 12         29 $item{__ACTION1__}=$_tok;
7247            
7248              
7249 12 50       29 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
7250             Parse::RecDescent::_tracefirst($text),
7251             q{value_ipv4},
7252             $tracelevel)
7253             if defined $::RD_TRACE;
7254              
7255              
7256              
7257 12         21 $_matched = 1;
7258 12         33 last;
7259             }
7260              
7261              
7262 12         234 while (!$_matched)
7263             {
7264            
7265 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
7266             Parse::RecDescent::_tracefirst($_[1]),
7267             q{value_ipv4},
7268             $tracelevel)
7269             if defined $::RD_TRACE;
7270 0         0 my $thisprod = $thisrule->{"prods"}[1];
7271            
7272 0         0 my $_savetext;
7273 0         0 @item = (q{value_ipv4});
7274 0         0 %item = (__RULE__ => q{value_ipv4});
7275 0         0 my $repcount = 0;
7276              
7277              
7278            
7279              
7280 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
7281             Parse::RecDescent::_tracefirst($text),
7282             q{value_ipv4},
7283             $tracelevel)
7284             if defined $::RD_TRACE;
7285 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
7286 0         0 my $rule = $item[0];
7287 0         0 $rule =~ s/_/ /g;
7288             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
7289 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
7290 0         0 } unless $_noactions; undef } else {0} };
7291 0 0       0 if (defined($_tok))
7292             {
7293 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
7294             . $_tok . q{])},
7295             Parse::RecDescent::_tracefirst($text))
7296             if defined $::RD_TRACE;
7297             }
7298             else
7299             {
7300 0 0       0 Parse::RecDescent::_trace(q{<>},
7301             Parse::RecDescent::_tracefirst($text))
7302             if defined $::RD_TRACE;
7303             }
7304            
7305 0 0       0 last unless defined $_tok;
7306 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
7307            
7308              
7309 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
7310             Parse::RecDescent::_tracefirst($text),
7311             q{value_ipv4},
7312             $tracelevel)
7313             if defined $::RD_TRACE;
7314              
7315              
7316              
7317 0         0 $_matched = 1;
7318 0         0 last;
7319             }
7320              
7321              
7322 12 50 33     41 unless ( $_matched || defined($score) )
7323             {
7324            
7325              
7326 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
7327 0 0       0 Parse::RecDescent::_trace(q{<>},
7328             Parse::RecDescent::_tracefirst($_[1]),
7329             q{value_ipv4},
7330             $tracelevel)
7331             if defined $::RD_TRACE;
7332 0         0 return undef;
7333             }
7334 12 50 33     79 if (!defined($return) && defined($score))
7335             {
7336 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7337             q{value_ipv4},
7338             $tracelevel)
7339             if defined $::RD_TRACE;
7340 0         0 $return = $score_return;
7341             }
7342 12         27 splice @{$thisparser->{errors}}, $err_at;
  12         33  
7343 12 50       45 $return = $item[$#item] unless defined $return;
7344 12 50       33 if (defined $::RD_TRACE)
7345             {
7346 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7347             $return . q{])}, "",
7348             q{value_ipv4},
7349             $tracelevel);
7350 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7351             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7352             Parse::RecDescent::_tracefirst($text),
7353             , q{value_ipv4},
7354             $tracelevel)
7355             }
7356 12         35 $_[1] = $text;
7357 12         164 return $return;
7358             }
7359              
7360             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7361             sub Parse::RecDescent::Config::Maker::Grammar::value_ipv4_port
7362             {
7363 2     2   6 my $thisparser = $_[0];
7364 9     9   68 use vars q{$tracelevel};
  9         21  
  9         5863  
7365 2   50     9 local $tracelevel = ($tracelevel||0)+1;
7366 2         6 $ERRORS = 0;
7367 2         7 my $thisrule = $thisparser->{"rules"}{"value_ipv4_port"};
7368              
7369 2 50       9 Parse::RecDescent::_trace(q{Trying rule: [value_ipv4_port]},
7370             Parse::RecDescent::_tracefirst($_[1]),
7371             q{value_ipv4_port},
7372             $tracelevel)
7373             if defined $::RD_TRACE;
7374              
7375            
7376 2         3 my $err_at = @{$thisparser->{errors}};
  2         96  
7377              
7378 2         5 my $score;
7379             my $score_return;
7380 0         0 my $_tok;
7381 2         3 my $return = undef;
7382 2         3 my $_matched=0;
7383 2         4 my $commit=0;
7384 2         5 my @item = ();
7385 2         5 my %item = ();
7386 2         3 my $repeating = $_[2];
7387 2         4 my $_noactions = $_[3];
7388 2 50       9 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  2         4  
  2         7  
7389 2         7 my $_itempos = $_[5];
7390 2 50       9 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7391 2         4 my $text;
7392             my $lastsep;
7393 0         0 my $current_match;
7394 2         10 my $expectation = new Parse::RecDescent::Expectation(q{});
7395 2         67 $expectation->at($_[1]);
7396            
7397 2         12 my $thisline;
7398 2         11 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7399              
7400            
7401              
7402 2   33     28 while (!$_matched && !$commit)
7403             {
7404 2 50       8 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
7405 2 50       17 Parse::RecDescent::_trace(q{Trying production: [ value_ipv4 ':' value_port]},
7406             Parse::RecDescent::_tracefirst($_[1]),
7407             q{value_ipv4_port},
7408             $tracelevel)
7409             if defined $::RD_TRACE;
7410 2         8 my $thisprod = $thisrule->{"prods"}[0];
7411 2         6 $text = $_[1];
7412 2         10 my $_savetext;
7413 2         8 @item = (q{value_ipv4_port});
7414 2         12 %item = (__RULE__ => q{value_ipv4_port});
7415 2         4 my $repcount = 0;
7416              
7417              
7418            
7419              
7420 2 50       11 Parse::RecDescent::_trace(q{Trying directive: []},
7421             Parse::RecDescent::_tracefirst($text),
7422             q{value_ipv4_port},
7423             $tracelevel)
7424             if defined $::RD_TRACE;
7425 2         4 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  2         4  
  2         4  
  2         5  
7426 2 50       7 if (defined($_tok))
7427             {
7428 2 50       7 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
7429             . $_tok . q{])},
7430             Parse::RecDescent::_tracefirst($text))
7431             if defined $::RD_TRACE;
7432             }
7433             else
7434             {
7435 0 0       0 Parse::RecDescent::_trace(q{<>},
7436             Parse::RecDescent::_tracefirst($text))
7437             if defined $::RD_TRACE;
7438             }
7439            
7440 2 50       7 last unless defined $_tok;
7441 2         7 push @item, $item{__DIRECTIVE1__}=$_tok;
7442            
7443              
7444 2 50       5 Parse::RecDescent::_trace(q{Trying subrule: [value_ipv4]},
7445             Parse::RecDescent::_tracefirst($text),
7446             q{value_ipv4_port},
7447             $tracelevel)
7448             if defined $::RD_TRACE;
7449 9     9   60 if (1) { no strict qw{refs};
  9         21  
  9         5342  
  2         4  
7450 2         9 $expectation->is(q{value_ipv4})->at($text);
7451 2 50   2   29 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::value_ipv4($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  2         5  
7452             {
7453            
7454 0 0       0 Parse::RecDescent::_trace(q{<>},
7455             Parse::RecDescent::_tracefirst($text),
7456             q{value_ipv4_port},
7457             $tracelevel)
7458             if defined $::RD_TRACE;
7459 0         0 $expectation->failed();
7460 0         0 last;
7461             }
7462 2 50       57 Parse::RecDescent::_trace(q{>>Matched subrule: [value_ipv4]<< (return value: [}
7463             . $_tok . q{]},
7464              
7465             Parse::RecDescent::_tracefirst($text),
7466             q{value_ipv4_port},
7467             $tracelevel)
7468             if defined $::RD_TRACE;
7469 2         7 $item{q{value_ipv4}} = $_tok;
7470 2         5 push @item, $_tok;
7471            
7472             }
7473              
7474 2 50       7 Parse::RecDescent::_trace(q{Trying terminal: [':']},
7475             Parse::RecDescent::_tracefirst($text),
7476             q{value_ipv4_port},
7477             $tracelevel)
7478             if defined $::RD_TRACE;
7479 2         4 undef $lastsep;
7480 2         40 $expectation->is(q{':'})->at($text);
7481            
7482              
7483 2 50 33     47 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\:/)
  2 50       32  
7484             {
7485 0 0       0 $text = $lastsep . $text if defined $lastsep;
7486            
7487 0         0 $expectation->failed();
7488 0 0       0 Parse::RecDescent::_trace(qq{<>},
7489             Parse::RecDescent::_tracefirst($text))
7490             if defined $::RD_TRACE;
7491 0         0 last;
7492             }
7493 2         18 $current_match = substr($text, $-[0], $+[0] - $-[0]);
7494 2         10 substr($text,0,length($current_match),q{});
7495 2 50       6 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7496             . $current_match . q{])},
7497             Parse::RecDescent::_tracefirst($text))
7498             if defined $::RD_TRACE;
7499 2         1003 push @item, $item{__STRING1__}=$current_match;
7500            
7501              
7502 2 50       13 Parse::RecDescent::_trace(q{Trying subrule: [value_port]},
7503             Parse::RecDescent::_tracefirst($text),
7504             q{value_ipv4_port},
7505             $tracelevel)
7506             if defined $::RD_TRACE;
7507 9     9   599 if (1) { no strict qw{refs};
  9         24  
  9         12386  
  2         3  
7508 2         12 $expectation->is(q{value_port})->at($text);
7509 2 50   2   67 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::value_port($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  2         5  
7510             {
7511            
7512 0 0       0 Parse::RecDescent::_trace(q{<>},
7513             Parse::RecDescent::_tracefirst($text),
7514             q{value_ipv4_port},
7515             $tracelevel)
7516             if defined $::RD_TRACE;
7517 0         0 $expectation->failed();
7518 0         0 last;
7519             }
7520 2 50       12 Parse::RecDescent::_trace(q{>>Matched subrule: [value_port]<< (return value: [}
7521             . $_tok . q{]},
7522              
7523             Parse::RecDescent::_tracefirst($text),
7524             q{value_ipv4_port},
7525             $tracelevel)
7526             if defined $::RD_TRACE;
7527 2         6 $item{q{value_port}} = $_tok;
7528 2         5 push @item, $_tok;
7529            
7530             }
7531              
7532 2 50       7 Parse::RecDescent::_trace(q{Trying action},
7533             Parse::RecDescent::_tracefirst($text),
7534             q{value_ipv4_port},
7535             $tracelevel)
7536             if defined $::RD_TRACE;
7537            
7538              
7539 2 50       7 $_tok = ($_noactions) ? 0 : do { "$item[2]:$item[-1]"; };
  2         9  
7540 2 50       7 unless (defined $_tok)
7541             {
7542 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
7543             if defined $::RD_TRACE;
7544 0         0 last;
7545             }
7546 2 50       7 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7547             . $_tok . q{])},
7548             Parse::RecDescent::_tracefirst($text))
7549             if defined $::RD_TRACE;
7550 2         6 push @item, $_tok;
7551 2         5 $item{__ACTION1__}=$_tok;
7552            
7553              
7554 2 50       6 Parse::RecDescent::_trace(q{>>Matched production: [ value_ipv4 ':' value_port]<<},
7555             Parse::RecDescent::_tracefirst($text),
7556             q{value_ipv4_port},
7557             $tracelevel)
7558             if defined $::RD_TRACE;
7559              
7560              
7561              
7562 2         3 $_matched = 1;
7563 2         8 last;
7564             }
7565              
7566              
7567 2         7 while (!$_matched)
7568             {
7569            
7570 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
7571             Parse::RecDescent::_tracefirst($_[1]),
7572             q{value_ipv4_port},
7573             $tracelevel)
7574             if defined $::RD_TRACE;
7575 0         0 my $thisprod = $thisrule->{"prods"}[1];
7576            
7577 0         0 my $_savetext;
7578 0         0 @item = (q{value_ipv4_port});
7579 0         0 %item = (__RULE__ => q{value_ipv4_port});
7580 0         0 my $repcount = 0;
7581              
7582              
7583            
7584              
7585 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
7586             Parse::RecDescent::_tracefirst($text),
7587             q{value_ipv4_port},
7588             $tracelevel)
7589             if defined $::RD_TRACE;
7590 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
7591 0         0 my $rule = $item[0];
7592 0         0 $rule =~ s/_/ /g;
7593             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
7594 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
7595 0         0 } unless $_noactions; undef } else {0} };
7596 0 0       0 if (defined($_tok))
7597             {
7598 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
7599             . $_tok . q{])},
7600             Parse::RecDescent::_tracefirst($text))
7601             if defined $::RD_TRACE;
7602             }
7603             else
7604             {
7605 0 0       0 Parse::RecDescent::_trace(q{<>},
7606             Parse::RecDescent::_tracefirst($text))
7607             if defined $::RD_TRACE;
7608             }
7609            
7610 0 0       0 last unless defined $_tok;
7611 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
7612            
7613              
7614 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
7615             Parse::RecDescent::_tracefirst($text),
7616             q{value_ipv4_port},
7617             $tracelevel)
7618             if defined $::RD_TRACE;
7619              
7620              
7621              
7622 0         0 $_matched = 1;
7623 0         0 last;
7624             }
7625              
7626              
7627 2 50 33     7 unless ( $_matched || defined($score) )
7628             {
7629            
7630              
7631 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
7632 0 0       0 Parse::RecDescent::_trace(q{<>},
7633             Parse::RecDescent::_tracefirst($_[1]),
7634             q{value_ipv4_port},
7635             $tracelevel)
7636             if defined $::RD_TRACE;
7637 0         0 return undef;
7638             }
7639 2 50 33     17 if (!defined($return) && defined($score))
7640             {
7641 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7642             q{value_ipv4_port},
7643             $tracelevel)
7644             if defined $::RD_TRACE;
7645 0         0 $return = $score_return;
7646             }
7647 2         2 splice @{$thisparser->{errors}}, $err_at;
  2         8  
7648 2 50       7 $return = $item[$#item] unless defined $return;
7649 2 50       7 if (defined $::RD_TRACE)
7650             {
7651 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7652             $return . q{])}, "",
7653             q{value_ipv4_port},
7654             $tracelevel);
7655 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7656             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7657             Parse::RecDescent::_tracefirst($text),
7658             , q{value_ipv4_port},
7659             $tracelevel)
7660             }
7661 2         7 $_[1] = $text;
7662 2         29 return $return;
7663             }
7664              
7665             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7666             sub Parse::RecDescent::Config::Maker::Grammar::eof
7667             {
7668 404     404   1104 my $thisparser = $_[0];
7669 9     9   67 use vars q{$tracelevel};
  9         20  
  9         9913  
7670 404   50     1570 local $tracelevel = ($tracelevel||0)+1;
7671 404         1010 $ERRORS = 0;
7672 404         1198 my $thisrule = $thisparser->{"rules"}{"eof"};
7673              
7674 404 50       1293 Parse::RecDescent::_trace(q{Trying rule: [eof]},
7675             Parse::RecDescent::_tracefirst($_[1]),
7676             q{eof},
7677             $tracelevel)
7678             if defined $::RD_TRACE;
7679              
7680            
7681 404         755 my $err_at = @{$thisparser->{errors}};
  404         1461  
7682              
7683 404         695 my $score;
7684             my $score_return;
7685 0         0 my $_tok;
7686 404         579 my $return = undef;
7687 404         1106 my $_matched=0;
7688 404         581 my $commit=0;
7689 404         962 my @item = ();
7690 404         936 my %item = ();
7691 404         564 my $repeating = $_[2];
7692 404         595 my $_noactions = $_[3];
7693 404 50       1256 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  404         584  
  404         1050  
7694 404         756 my $_itempos = $_[5];
7695 404 100       1517 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7696 404         853 my $text;
7697             my $lastsep;
7698 0         0 my $current_match;
7699 404         1650 my $expectation = new Parse::RecDescent::Expectation(q{/^\\Z/});
7700 404         26039 $expectation->at($_[1]);
7701            
7702 404         2205 my $thisline;
7703 404         2417 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7704              
7705            
7706              
7707 404   33     4407 while (!$_matched && !$commit)
7708             {
7709            
7710 404 50       1262 Parse::RecDescent::_trace(q{Trying production: [/^\\Z/]},
7711             Parse::RecDescent::_tracefirst($_[1]),
7712             q{eof},
7713             $tracelevel)
7714             if defined $::RD_TRACE;
7715 404         1294 my $thisprod = $thisrule->{"prods"}[0];
7716 404         708 $text = $_[1];
7717 404         491 my $_savetext;
7718 404         887 @item = (q{eof});
7719 404         1012 %item = (__RULE__ => q{eof});
7720 404         608 my $repcount = 0;
7721              
7722              
7723 404 50       973 Parse::RecDescent::_trace(q{Trying terminal: [/^\\Z/]}, Parse::RecDescent::_tracefirst($text),
7724             q{eof},
7725             $tracelevel)
7726             if defined $::RD_TRACE;
7727 404         893 undef $lastsep;
7728 404         1450 $expectation->is(q{})->at($text);
7729            
7730              
7731 404 100 33     7936 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:^\Z)/)
  404 50       4877  
7732             {
7733 0 0       0 $text = $lastsep . $text if defined $lastsep;
7734 0         0 $expectation->failed();
7735 0 0       0 Parse::RecDescent::_trace(q{<>},
7736             Parse::RecDescent::_tracefirst($text))
7737             if defined $::RD_TRACE;
7738              
7739 0         0 last;
7740             }
7741 404         2568 $current_match = substr($text, $-[0], $+[0] - $-[0]);
7742 404         1591 substr($text,0,length($current_match),q{});
7743 404 50       1042 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7744             . $current_match . q{])},
7745             Parse::RecDescent::_tracefirst($text))
7746             if defined $::RD_TRACE;
7747 404         1578 push @item, $item{__PATTERN1__}=$current_match;
7748            
7749              
7750 404 50       1064 Parse::RecDescent::_trace(q{>>Matched production: [/^\\Z/]<<},
7751             Parse::RecDescent::_tracefirst($text),
7752             q{eof},
7753             $tracelevel)
7754             if defined $::RD_TRACE;
7755              
7756              
7757              
7758 404         1017 $_matched = 1;
7759 404         982 last;
7760             }
7761              
7762              
7763 404 50 33     1555 unless ( $_matched || defined($score) )
7764             {
7765            
7766              
7767 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
7768 0 0       0 Parse::RecDescent::_trace(q{<>},
7769             Parse::RecDescent::_tracefirst($_[1]),
7770             q{eof},
7771             $tracelevel)
7772             if defined $::RD_TRACE;
7773 0         0 return undef;
7774             }
7775 404 50 33     2235 if (!defined($return) && defined($score))
7776             {
7777 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7778             q{eof},
7779             $tracelevel)
7780             if defined $::RD_TRACE;
7781 0         0 $return = $score_return;
7782             }
7783 404         627 splice @{$thisparser->{errors}}, $err_at;
  404         1054  
7784 404 50       1274 $return = $item[$#item] unless defined $return;
7785 404 50       1095 if (defined $::RD_TRACE)
7786             {
7787 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7788             $return . q{])}, "",
7789             q{eof},
7790             $tracelevel);
7791 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7792             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7793             Parse::RecDescent::_tracefirst($text),
7794             , q{eof},
7795             $tracelevel)
7796             }
7797 404         724 $_[1] = $text;
7798 404         3774 return $return;
7799             }
7800              
7801             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
7802             sub Parse::RecDescent::Config::Maker::Grammar::body_simple
7803             {
7804 456     456   1487 my $thisparser = $_[0];
7805 9     9   65 use vars q{$tracelevel};
  9         19  
  9         4255  
7806 456   50     1628 local $tracelevel = ($tracelevel||0)+1;
7807 456         763 $ERRORS = 0;
7808 456         1254 my $thisrule = $thisparser->{"rules"}{"body_simple"};
7809              
7810 456 50       1145 Parse::RecDescent::_trace(q{Trying rule: [body_simple]},
7811             Parse::RecDescent::_tracefirst($_[1]),
7812             q{body_simple},
7813             $tracelevel)
7814             if defined $::RD_TRACE;
7815              
7816            
7817 456         597 my $err_at = @{$thisparser->{errors}};
  456         1178  
7818              
7819 456         682 my $score;
7820             my $score_return;
7821 0         0 my $_tok;
7822 456         960 my $return = undef;
7823 456         701 my $_matched=0;
7824 456         589 my $commit=0;
7825 456         3066 my @item = ();
7826 456         908 my %item = ();
7827 456         672 my $repeating = $_[2];
7828 456         772 my $_noactions = $_[3];
7829 456 50       2546 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  456         715  
  456         936  
7830 456         10618 my $_itempos = $_[5];
7831 456 50       2711 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7832 456         908 my $text;
7833             my $lastsep;
7834 0         0 my $current_match;
7835 456         3086 my $expectation = new Parse::RecDescent::Expectation(q{value});
7836 456         4054 $expectation->at($_[1]);
7837            
7838 456         2114 my $thisline;
7839 456         2277 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7840              
7841            
7842              
7843 456   33     5343 while (!$_matched && !$commit)
7844             {
7845            
7846 456 50       1230 Parse::RecDescent::_trace(q{Trying production: [value ';']},
7847             Parse::RecDescent::_tracefirst($_[1]),
7848             q{body_simple},
7849             $tracelevel)
7850             if defined $::RD_TRACE;
7851 456         1472 my $thisprod = $thisrule->{"prods"}[0];
7852 456         813 $text = $_[1];
7853 456         595 my $_savetext;
7854 456         13804 @item = (q{body_simple});
7855 456         1331 %item = (__RULE__ => q{body_simple});
7856 456         677 my $repcount = 0;
7857              
7858              
7859 456 50       1227 Parse::RecDescent::_trace(q{Trying subrule: [value]},
7860             Parse::RecDescent::_tracefirst($text),
7861             q{body_simple},
7862             $tracelevel)
7863             if defined $::RD_TRACE;
7864 9     9   59 if (1) { no strict qw{refs};
  9         18  
  9         16553  
  456         712  
7865 456         1552 $expectation->is(q{})->at($text);
7866 456 50   456   7962 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::value($thisparser,$text,$repeating,$_noactions,sub { return [@{$arg[1]}] },undef)))
  456         601  
  456         2070  
7867             {
7868            
7869 0 0       0 Parse::RecDescent::_trace(q{<>},
7870             Parse::RecDescent::_tracefirst($text),
7871             q{body_simple},
7872             $tracelevel)
7873             if defined $::RD_TRACE;
7874 0         0 $expectation->failed();
7875 0         0 last;
7876             }
7877 456 50       2360 Parse::RecDescent::_trace(q{>>Matched subrule: [value]<< (return value: [}
7878             . $_tok . q{]},
7879              
7880             Parse::RecDescent::_tracefirst($text),
7881             q{body_simple},
7882             $tracelevel)
7883             if defined $::RD_TRACE;
7884 456         1725 $item{q{value}} = $_tok;
7885 456         938 push @item, $_tok;
7886            
7887             }
7888              
7889 456 50       1116 Parse::RecDescent::_trace(q{Trying terminal: [';']},
7890             Parse::RecDescent::_tracefirst($text),
7891             q{body_simple},
7892             $tracelevel)
7893             if defined $::RD_TRACE;
7894 456         734 undef $lastsep;
7895 456         1712 $expectation->is(q{';'})->at($text);
7896            
7897              
7898 456 50 33     8825 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\;/)
  456 50       6045  
7899             {
7900 0 0       0 $text = $lastsep . $text if defined $lastsep;
7901            
7902 0         0 $expectation->failed();
7903 0 0       0 Parse::RecDescent::_trace(qq{<>},
7904             Parse::RecDescent::_tracefirst($text))
7905             if defined $::RD_TRACE;
7906 0         0 last;
7907             }
7908 456         3219 $current_match = substr($text, $-[0], $+[0] - $-[0]);
7909 456         1939 substr($text,0,length($current_match),q{});
7910 456 50       1334 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7911             . $current_match . q{])},
7912             Parse::RecDescent::_tracefirst($text))
7913             if defined $::RD_TRACE;
7914 456         1514 push @item, $item{__STRING1__}=$current_match;
7915            
7916              
7917 456 50       1226 Parse::RecDescent::_trace(q{Trying action},
7918             Parse::RecDescent::_tracefirst($text),
7919             q{body_simple},
7920             $tracelevel)
7921             if defined $::RD_TRACE;
7922            
7923              
7924 456 50       1666 $_tok = ($_noactions) ? 0 : do { +{ -value => $item[1] }; };
  456         2147  
7925 456 50       1602 unless (defined $_tok)
7926             {
7927 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
7928             if defined $::RD_TRACE;
7929 0         0 last;
7930             }
7931 456 50       1092 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7932             . $_tok . q{])},
7933             Parse::RecDescent::_tracefirst($text))
7934             if defined $::RD_TRACE;
7935 456         832 push @item, $_tok;
7936 456         933 $item{__ACTION1__}=$_tok;
7937            
7938              
7939 456 50       1185 Parse::RecDescent::_trace(q{>>Matched production: [value ';']<<},
7940             Parse::RecDescent::_tracefirst($text),
7941             q{body_simple},
7942             $tracelevel)
7943             if defined $::RD_TRACE;
7944              
7945              
7946              
7947 456         670 $_matched = 1;
7948 456         1026 last;
7949             }
7950              
7951              
7952 456         1295 while (!$_matched)
7953             {
7954            
7955 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
7956             Parse::RecDescent::_tracefirst($_[1]),
7957             q{body_simple},
7958             $tracelevel)
7959             if defined $::RD_TRACE;
7960 0         0 my $thisprod = $thisrule->{"prods"}[1];
7961            
7962 0         0 my $_savetext;
7963 0         0 @item = (q{body_simple});
7964 0         0 %item = (__RULE__ => q{body_simple});
7965 0         0 my $repcount = 0;
7966              
7967              
7968            
7969              
7970 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
7971             Parse::RecDescent::_tracefirst($text),
7972             q{body_simple},
7973             $tracelevel)
7974             if defined $::RD_TRACE;
7975 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
7976 0         0 my $rule = $item[0];
7977 0         0 $rule =~ s/_/ /g;
7978             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
7979 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
7980 0         0 } unless $_noactions; undef } else {0} };
7981 0 0       0 if (defined($_tok))
7982             {
7983 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
7984             . $_tok . q{])},
7985             Parse::RecDescent::_tracefirst($text))
7986             if defined $::RD_TRACE;
7987             }
7988             else
7989             {
7990 0 0       0 Parse::RecDescent::_trace(q{<>},
7991             Parse::RecDescent::_tracefirst($text))
7992             if defined $::RD_TRACE;
7993             }
7994            
7995 0 0       0 last unless defined $_tok;
7996 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
7997            
7998              
7999 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
8000             Parse::RecDescent::_tracefirst($text),
8001             q{body_simple},
8002             $tracelevel)
8003             if defined $::RD_TRACE;
8004              
8005              
8006              
8007 0         0 $_matched = 1;
8008 0         0 last;
8009             }
8010              
8011              
8012 456 50 33     1290 unless ( $_matched || defined($score) )
8013             {
8014            
8015              
8016 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
8017 0 0       0 Parse::RecDescent::_trace(q{<>},
8018             Parse::RecDescent::_tracefirst($_[1]),
8019             q{body_simple},
8020             $tracelevel)
8021             if defined $::RD_TRACE;
8022 0         0 return undef;
8023             }
8024 456 50 33     2501 if (!defined($return) && defined($score))
8025             {
8026 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8027             q{body_simple},
8028             $tracelevel)
8029             if defined $::RD_TRACE;
8030 0         0 $return = $score_return;
8031             }
8032 456         733 splice @{$thisparser->{errors}}, $err_at;
  456         1167  
8033 456 50       1260 $return = $item[$#item] unless defined $return;
8034 456 50       1099 if (defined $::RD_TRACE)
8035             {
8036 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8037             $return . q{])}, "",
8038             q{body_simple},
8039             $tracelevel);
8040 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8041             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8042             Parse::RecDescent::_tracefirst($text),
8043             , q{body_simple},
8044             $tracelevel)
8045             }
8046 456         967 $_[1] = $text;
8047 456         5210 return $return;
8048             }
8049              
8050             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8051             sub Parse::RecDescent::Config::Maker::Grammar::pcomponent
8052             {
8053 316     316   578 my $thisparser = $_[0];
8054 9     9   82 use vars q{$tracelevel};
  9         21  
  9         4945  
8055 316   50     980 local $tracelevel = ($tracelevel||0)+1;
8056 316         521 $ERRORS = 0;
8057 316         901 my $thisrule = $thisparser->{"rules"}{"pcomponent"};
8058              
8059 316 50       739 Parse::RecDescent::_trace(q{Trying rule: [pcomponent]},
8060             Parse::RecDescent::_tracefirst($_[1]),
8061             q{pcomponent},
8062             $tracelevel)
8063             if defined $::RD_TRACE;
8064              
8065            
8066 316         386 my $err_at = @{$thisparser->{errors}};
  316         672  
8067              
8068 316         487 my $score;
8069             my $score_return;
8070 0         0 my $_tok;
8071 316         464 my $return = undef;
8072 316         635 my $_matched=0;
8073 316         430 my $commit=0;
8074 316         606 my @item = ();
8075 316         607 my %item = ();
8076 316         499 my $repeating = $_[2];
8077 316         396 my $_noactions = $_[3];
8078 316 50       1434 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  316         469  
  316         677  
8079 316         498 my $_itempos = $_[5];
8080 316 100       1117 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8081 316         493 my $text;
8082             my $lastsep;
8083 0         0 my $current_match;
8084 316         1363 my $expectation = new Parse::RecDescent::Expectation(q{glob, or ':'});
8085 316         2640 $expectation->at($_[1]);
8086            
8087 316         1718 my $thisline;
8088 316         1499 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8089              
8090            
8091              
8092 316   33     3507 while (!$_matched && !$commit)
8093             {
8094            
8095 316 50       6090 Parse::RecDescent::_trace(q{Trying production: [glob ':' glob pcondition]},
8096             Parse::RecDescent::_tracefirst($_[1]),
8097             q{pcomponent},
8098             $tracelevel)
8099             if defined $::RD_TRACE;
8100 316         918 my $thisprod = $thisrule->{"prods"}[0];
8101 316         494 $text = $_[1];
8102 316         534 my $_savetext;
8103 316         678 @item = (q{pcomponent});
8104 316         825 %item = (__RULE__ => q{pcomponent});
8105 316         455 my $repcount = 0;
8106              
8107              
8108 316 50       1639 Parse::RecDescent::_trace(q{Trying subrule: [glob]},
8109             Parse::RecDescent::_tracefirst($text),
8110             q{pcomponent},
8111             $tracelevel)
8112             if defined $::RD_TRACE;
8113 9     9   58 if (1) { no strict qw{refs};
  9         72  
  9         4916  
  316         755  
8114 316         2194 $expectation->is(q{})->at($text);
8115 316 100   316   4150 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::glob($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  316         950  
8116             {
8117            
8118 22 50       69 Parse::RecDescent::_trace(q{<>},
8119             Parse::RecDescent::_tracefirst($text),
8120             q{pcomponent},
8121             $tracelevel)
8122             if defined $::RD_TRACE;
8123 22         76 $expectation->failed();
8124 22         87 last;
8125             }
8126 294 50       1813 Parse::RecDescent::_trace(q{>>Matched subrule: [glob]<< (return value: [}
8127             . $_tok . q{]},
8128              
8129             Parse::RecDescent::_tracefirst($text),
8130             q{pcomponent},
8131             $tracelevel)
8132             if defined $::RD_TRACE;
8133 294         655 $item{q{glob}} = $_tok;
8134 294         552 push @item, $_tok;
8135            
8136             }
8137              
8138 294 50       619 Parse::RecDescent::_trace(q{Trying terminal: [':']},
8139             Parse::RecDescent::_tracefirst($text),
8140             q{pcomponent},
8141             $tracelevel)
8142             if defined $::RD_TRACE;
8143 294         442 undef $lastsep;
8144 294         1001 $expectation->is(q{':'})->at($text);
8145            
8146              
8147 294 50 66     5111 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\:/)
  294 100       3008  
8148             {
8149 292 50       912 $text = $lastsep . $text if defined $lastsep;
8150            
8151 292         999 $expectation->failed();
8152 292 50       3073 Parse::RecDescent::_trace(qq{<>},
8153             Parse::RecDescent::_tracefirst($text))
8154             if defined $::RD_TRACE;
8155 292         619 last;
8156             }
8157 2         15 $current_match = substr($text, $-[0], $+[0] - $-[0]);
8158 2         11 substr($text,0,length($current_match),q{});
8159 2 50       10 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8160             . $current_match . q{])},
8161             Parse::RecDescent::_tracefirst($text))
8162             if defined $::RD_TRACE;
8163 2         8 push @item, $item{__STRING1__}=$current_match;
8164            
8165              
8166 2 50       8 Parse::RecDescent::_trace(q{Trying subrule: [glob]},
8167             Parse::RecDescent::_tracefirst($text),
8168             q{pcomponent},
8169             $tracelevel)
8170             if defined $::RD_TRACE;
8171 9     9   58 if (1) { no strict qw{refs};
  9         21  
  9         9461  
  2         4  
8172 2         10 $expectation->is(q{glob})->at($text);
8173 2 50   2   26 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::glob($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  2         7  
8174             {
8175            
8176 0 0       0 Parse::RecDescent::_trace(q{<>},
8177             Parse::RecDescent::_tracefirst($text),
8178             q{pcomponent},
8179             $tracelevel)
8180             if defined $::RD_TRACE;
8181 0         0 $expectation->failed();
8182 0         0 last;
8183             }
8184 2 50       14 Parse::RecDescent::_trace(q{>>Matched subrule: [glob]<< (return value: [}
8185             . $_tok . q{]},
8186              
8187             Parse::RecDescent::_tracefirst($text),
8188             q{pcomponent},
8189             $tracelevel)
8190             if defined $::RD_TRACE;
8191 2         5 $item{q{glob}} = $_tok;
8192 2         5 push @item, $_tok;
8193            
8194             }
8195              
8196 2 50       10 Parse::RecDescent::_trace(q{Trying repeated subrule: [pcondition]},
8197             Parse::RecDescent::_tracefirst($text),
8198             q{pcomponent},
8199             $tracelevel)
8200             if defined $::RD_TRACE;
8201 2         11 $expectation->is(q{pcondition})->at($text);
8202            
8203 2 50   2   34 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::pcondition, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  2         7  
8204             {
8205 0 0       0 Parse::RecDescent::_trace(q{<>},
8206             Parse::RecDescent::_tracefirst($text),
8207             q{pcomponent},
8208             $tracelevel)
8209             if defined $::RD_TRACE;
8210 0         0 last;
8211             }
8212 2 50       40 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [pcondition]<< (}
8213             . @$_tok . q{ times)},
8214              
8215             Parse::RecDescent::_tracefirst($text),
8216             q{pcomponent},
8217             $tracelevel)
8218             if defined $::RD_TRACE;
8219 2         7 $item{q{pcondition(?)}} = $_tok;
8220 2         5 push @item, $_tok;
8221            
8222              
8223              
8224 2 50       9 Parse::RecDescent::_trace(q{Trying action},
8225             Parse::RecDescent::_tracefirst($text),
8226             q{pcomponent},
8227             $tracelevel)
8228             if defined $::RD_TRACE;
8229            
8230              
8231 2 50       8 $_tok = ($_noactions) ? 0 : do {
8232             +{
8233 2 50       19 -type => $item[1],
8234             -value => $item[3],
8235             ($item[-1][0] ? (-code => $item[-1][0]) : ())
8236             }
8237             };
8238 2 50       50 unless (defined $_tok)
8239             {
8240 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8241             if defined $::RD_TRACE;
8242 0         0 last;
8243             }
8244 2 50       10 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8245             . $_tok . q{])},
8246             Parse::RecDescent::_tracefirst($text))
8247             if defined $::RD_TRACE;
8248 2         6 push @item, $_tok;
8249 2         6 $item{__ACTION1__}=$_tok;
8250            
8251              
8252 2 50       8 Parse::RecDescent::_trace(q{>>Matched production: [glob ':' glob pcondition]<<},
8253             Parse::RecDescent::_tracefirst($text),
8254             q{pcomponent},
8255             $tracelevel)
8256             if defined $::RD_TRACE;
8257              
8258              
8259              
8260 2         5 $_matched = 1;
8261 2         6 last;
8262             }
8263              
8264              
8265 316   66     1479 while (!$_matched && !$commit)
8266             {
8267            
8268 314 50       926 Parse::RecDescent::_trace(q{Trying production: [':' glob pcondition]},
8269             Parse::RecDescent::_tracefirst($_[1]),
8270             q{pcomponent},
8271             $tracelevel)
8272             if defined $::RD_TRACE;
8273 314         881 my $thisprod = $thisrule->{"prods"}[1];
8274 314         767 $text = $_[1];
8275 314         423 my $_savetext;
8276 314         828 @item = (q{pcomponent});
8277 314         1274 %item = (__RULE__ => q{pcomponent});
8278 314         455 my $repcount = 0;
8279              
8280              
8281 314 50       768 Parse::RecDescent::_trace(q{Trying terminal: [':']},
8282             Parse::RecDescent::_tracefirst($text),
8283             q{pcomponent},
8284             $tracelevel)
8285             if defined $::RD_TRACE;
8286 314         434 undef $lastsep;
8287 314         951 $expectation->is(q{})->at($text);
8288            
8289              
8290 314 50 66     3924 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\:/)
  314 100       5522  
8291             {
8292 310 50       1156 $text = $lastsep . $text if defined $lastsep;
8293            
8294 310         1050 $expectation->failed();
8295 310 50       1584 Parse::RecDescent::_trace(qq{<>},
8296             Parse::RecDescent::_tracefirst($text))
8297             if defined $::RD_TRACE;
8298 310         792 last;
8299             }
8300 4         32 $current_match = substr($text, $-[0], $+[0] - $-[0]);
8301 4         20 substr($text,0,length($current_match),q{});
8302 4 50       19 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8303             . $current_match . q{])},
8304             Parse::RecDescent::_tracefirst($text))
8305             if defined $::RD_TRACE;
8306 4         17 push @item, $item{__STRING1__}=$current_match;
8307            
8308              
8309 4 50       14 Parse::RecDescent::_trace(q{Trying subrule: [glob]},
8310             Parse::RecDescent::_tracefirst($text),
8311             q{pcomponent},
8312             $tracelevel)
8313             if defined $::RD_TRACE;
8314 9     9   60 if (1) { no strict qw{refs};
  9         17  
  9         8480  
  4         8  
8315 4         19 $expectation->is(q{glob})->at($text);
8316 4 50   4   53 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::glob($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  4         54  
8317             {
8318            
8319 0 0       0 Parse::RecDescent::_trace(q{<>},
8320             Parse::RecDescent::_tracefirst($text),
8321             q{pcomponent},
8322             $tracelevel)
8323             if defined $::RD_TRACE;
8324 0         0 $expectation->failed();
8325 0         0 last;
8326             }
8327 4 50       25 Parse::RecDescent::_trace(q{>>Matched subrule: [glob]<< (return value: [}
8328             . $_tok . q{]},
8329              
8330             Parse::RecDescent::_tracefirst($text),
8331             q{pcomponent},
8332             $tracelevel)
8333             if defined $::RD_TRACE;
8334 4         11 $item{q{glob}} = $_tok;
8335 4         12 push @item, $_tok;
8336            
8337             }
8338              
8339 4 50       17 Parse::RecDescent::_trace(q{Trying repeated subrule: [pcondition]},
8340             Parse::RecDescent::_tracefirst($text),
8341             q{pcomponent},
8342             $tracelevel)
8343             if defined $::RD_TRACE;
8344 4         17 $expectation->is(q{pcondition})->at($text);
8345            
8346 4 50   4   65 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::pcondition, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  4         15  
8347             {
8348 0 0       0 Parse::RecDescent::_trace(q{<>},
8349             Parse::RecDescent::_tracefirst($text),
8350             q{pcomponent},
8351             $tracelevel)
8352             if defined $::RD_TRACE;
8353 0         0 last;
8354             }
8355 4 50       67 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [pcondition]<< (}
8356             . @$_tok . q{ times)},
8357              
8358             Parse::RecDescent::_tracefirst($text),
8359             q{pcomponent},
8360             $tracelevel)
8361             if defined $::RD_TRACE;
8362 4         12 $item{q{pcondition(?)}} = $_tok;
8363 4         10 push @item, $_tok;
8364            
8365              
8366              
8367 4 50       17 Parse::RecDescent::_trace(q{Trying action},
8368             Parse::RecDescent::_tracefirst($text),
8369             q{pcomponent},
8370             $tracelevel)
8371             if defined $::RD_TRACE;
8372            
8373              
8374 4 50       13 $_tok = ($_noactions) ? 0 : do {
8375             +{
8376 4 50       30 -value => $item[2],
8377             ($item[-1][0] ? (-code => $item[-1][0]) : ())
8378             }
8379             };
8380 4 50       19 unless (defined $_tok)
8381             {
8382 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8383             if defined $::RD_TRACE;
8384 0         0 last;
8385             }
8386 4 50       14 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8387             . $_tok . q{])},
8388             Parse::RecDescent::_tracefirst($text))
8389             if defined $::RD_TRACE;
8390 4         10 push @item, $_tok;
8391 4         13 $item{__ACTION1__}=$_tok;
8392            
8393              
8394 4 50       15 Parse::RecDescent::_trace(q{>>Matched production: [':' glob pcondition]<<},
8395             Parse::RecDescent::_tracefirst($text),
8396             q{pcomponent},
8397             $tracelevel)
8398             if defined $::RD_TRACE;
8399              
8400              
8401              
8402 4         9 $_matched = 1;
8403 4         11 last;
8404             }
8405              
8406              
8407 316   66     1488 while (!$_matched && !$commit)
8408             {
8409            
8410 310 50       701 Parse::RecDescent::_trace(q{Trying production: [glob pcondition]},
8411             Parse::RecDescent::_tracefirst($_[1]),
8412             q{pcomponent},
8413             $tracelevel)
8414             if defined $::RD_TRACE;
8415 310         910 my $thisprod = $thisrule->{"prods"}[2];
8416 310         502 $text = $_[1];
8417 310         447 my $_savetext;
8418 310         717 @item = (q{pcomponent});
8419 310         867 %item = (__RULE__ => q{pcomponent});
8420 310         456 my $repcount = 0;
8421              
8422              
8423 310 50       1217 Parse::RecDescent::_trace(q{Trying subrule: [glob]},
8424             Parse::RecDescent::_tracefirst($text),
8425             q{pcomponent},
8426             $tracelevel)
8427             if defined $::RD_TRACE;
8428 9     9   62 if (1) { no strict qw{refs};
  9         84  
  9         11958  
  310         415  
8429 310         956 $expectation->is(q{})->at($text);
8430 310 100   310   3888 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::glob($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  310         716  
8431             {
8432            
8433 18 50       61 Parse::RecDescent::_trace(q{<>},
8434             Parse::RecDescent::_tracefirst($text),
8435             q{pcomponent},
8436             $tracelevel)
8437             if defined $::RD_TRACE;
8438 18         60 $expectation->failed();
8439 18         151 last;
8440             }
8441 292 50       1225 Parse::RecDescent::_trace(q{>>Matched subrule: [glob]<< (return value: [}
8442             . $_tok . q{]},
8443              
8444             Parse::RecDescent::_tracefirst($text),
8445             q{pcomponent},
8446             $tracelevel)
8447             if defined $::RD_TRACE;
8448 292         698 $item{q{glob}} = $_tok;
8449 292         842 push @item, $_tok;
8450            
8451             }
8452              
8453 292 50       709 Parse::RecDescent::_trace(q{Trying repeated subrule: [pcondition]},
8454             Parse::RecDescent::_tracefirst($text),
8455             q{pcomponent},
8456             $tracelevel)
8457             if defined $::RD_TRACE;
8458 292         989 $expectation->is(q{pcondition})->at($text);
8459            
8460 292 50   292   4443 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::pcondition, 0, 1, $_noactions,$expectation,sub { \@arg },undef)))
  292         819  
8461             {
8462 0 0       0 Parse::RecDescent::_trace(q{<>},
8463             Parse::RecDescent::_tracefirst($text),
8464             q{pcomponent},
8465             $tracelevel)
8466             if defined $::RD_TRACE;
8467 0         0 last;
8468             }
8469 292 50       4727 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [pcondition]<< (}
8470             . @$_tok . q{ times)},
8471              
8472             Parse::RecDescent::_tracefirst($text),
8473             q{pcomponent},
8474             $tracelevel)
8475             if defined $::RD_TRACE;
8476 292         706 $item{q{pcondition(?)}} = $_tok;
8477 292         704 push @item, $_tok;
8478            
8479              
8480              
8481 292 50       1961 Parse::RecDescent::_trace(q{Trying action},
8482             Parse::RecDescent::_tracefirst($text),
8483             q{pcomponent},
8484             $tracelevel)
8485             if defined $::RD_TRACE;
8486            
8487              
8488 292 50       630 $_tok = ($_noactions) ? 0 : do {
8489             +{
8490 292 100       1556 -type => $item[1],
8491             ($item[-1][0] ? (-code => $item[-1][0]) : ())
8492             }
8493             };
8494 292 50       739 unless (defined $_tok)
8495             {
8496 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8497             if defined $::RD_TRACE;
8498 0         0 last;
8499             }
8500 292 50       630 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8501             . $_tok . q{])},
8502             Parse::RecDescent::_tracefirst($text))
8503             if defined $::RD_TRACE;
8504 292         460 push @item, $_tok;
8505 292         873 $item{__ACTION1__}=$_tok;
8506            
8507              
8508 292 50       686 Parse::RecDescent::_trace(q{>>Matched production: [glob pcondition]<<},
8509             Parse::RecDescent::_tracefirst($text),
8510             q{pcomponent},
8511             $tracelevel)
8512             if defined $::RD_TRACE;
8513              
8514              
8515              
8516 292         374 $_matched = 1;
8517 292         585 last;
8518             }
8519              
8520              
8521 316 100 66     1055 unless ( $_matched || defined($score) )
8522             {
8523            
8524              
8525 18         34 $_[1] = $text; # NOT SURE THIS IS NEEDED
8526 18 50       58 Parse::RecDescent::_trace(q{<>},
8527             Parse::RecDescent::_tracefirst($_[1]),
8528             q{pcomponent},
8529             $tracelevel)
8530             if defined $::RD_TRACE;
8531 18         167 return undef;
8532             }
8533 298 50 33     1701 if (!defined($return) && defined($score))
8534             {
8535 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8536             q{pcomponent},
8537             $tracelevel)
8538             if defined $::RD_TRACE;
8539 0         0 $return = $score_return;
8540             }
8541 298         451 splice @{$thisparser->{errors}}, $err_at;
  298         753  
8542 298 50       851 $return = $item[$#item] unless defined $return;
8543 298 50       737 if (defined $::RD_TRACE)
8544             {
8545 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8546             $return . q{])}, "",
8547             q{pcomponent},
8548             $tracelevel);
8549 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8550             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8551             Parse::RecDescent::_tracefirst($text),
8552             , q{pcomponent},
8553             $tracelevel)
8554             }
8555 298         1736 $_[1] = $text;
8556 298         2565 return $return;
8557             }
8558              
8559             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8560             sub Parse::RecDescent::Config::Maker::Grammar::perl_codeblock
8561             {
8562 331     331   598 my $thisparser = $_[0];
8563 9     9   69 use vars q{$tracelevel};
  9         20  
  9         9212  
8564 331   50     1037 local $tracelevel = ($tracelevel||0)+1;
8565 331         461 $ERRORS = 0;
8566 331         1395 my $thisrule = $thisparser->{"rules"}{"perl_codeblock"};
8567              
8568 331 50       819 Parse::RecDescent::_trace(q{Trying rule: [perl_codeblock]},
8569             Parse::RecDescent::_tracefirst($_[1]),
8570             q{perl_codeblock},
8571             $tracelevel)
8572             if defined $::RD_TRACE;
8573              
8574            
8575 331         555 my $err_at = @{$thisparser->{errors}};
  331         731  
8576              
8577 331         524 my $score;
8578             my $score_return;
8579 0         0 my $_tok;
8580 331         467 my $return = undef;
8581 331         592 my $_matched=0;
8582 331         741 my $commit=0;
8583 331         927 my @item = ();
8584 331         551 my %item = ();
8585 331         505 my $repeating = $_[2];
8586 331         1626 my $_noactions = $_[3];
8587 331 50       907 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  331         484  
  331         737  
8588 331         823 my $_itempos = $_[5];
8589 331 50       1451 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8590 331         523 my $text;
8591             my $lastsep;
8592 0         0 my $current_match;
8593 331         1228 my $expectation = new Parse::RecDescent::Expectation(q{});
8594 331         3127 $expectation->at($_[1]);
8595            
8596 331         1689 my $thisline;
8597 331         1487 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8598              
8599            
8600              
8601 331   33     3973 while (!$_matched && !$commit)
8602             {
8603            
8604 331 50       883 Parse::RecDescent::_trace(q{Trying production: []},
8605             Parse::RecDescent::_tracefirst($_[1]),
8606             q{perl_codeblock},
8607             $tracelevel)
8608             if defined $::RD_TRACE;
8609 331         1011 my $thisprod = $thisrule->{"prods"}[0];
8610 331         570 $text = $_[1];
8611 331         438 my $_savetext;
8612 331         745 @item = (q{perl_codeblock});
8613 331         844 %item = (__RULE__ => q{perl_codeblock});
8614 331         573 my $repcount = 0;
8615              
8616              
8617 331 50       852 Parse::RecDescent::_trace(q{Trying action},
8618             Parse::RecDescent::_tracefirst($text),
8619             q{perl_codeblock},
8620             $tracelevel)
8621             if defined $::RD_TRACE;
8622            
8623              
8624 331 50       1130 $_tok = ($_noactions) ? 0 : do { Text::Balanced::extract_codeblock($text, '{}()[]', $skip, $arg[0]); };
  331         1637  
8625 331 100       47033 unless (defined $_tok)
8626             {
8627 321 50       880 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8628             if defined $::RD_TRACE;
8629 321         623 last;
8630             }
8631 10 50       40 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8632             . $_tok . q{])},
8633             Parse::RecDescent::_tracefirst($text))
8634             if defined $::RD_TRACE;
8635 10         26 push @item, $_tok;
8636 10         33 $item{__ACTION1__}=$_tok;
8637            
8638              
8639 10 50       36 Parse::RecDescent::_trace(q{>>Matched production: []<<},
8640             Parse::RecDescent::_tracefirst($text),
8641             q{perl_codeblock},
8642             $tracelevel)
8643             if defined $::RD_TRACE;
8644              
8645              
8646              
8647 10         19 $_matched = 1;
8648 10         19 last;
8649             }
8650              
8651              
8652 331 100 66     2197 unless ( $_matched || defined($score) )
8653             {
8654            
8655              
8656 321         624 $_[1] = $text; # NOT SURE THIS IS NEEDED
8657 321 50       873 Parse::RecDescent::_trace(q{<>},
8658             Parse::RecDescent::_tracefirst($_[1]),
8659             q{perl_codeblock},
8660             $tracelevel)
8661             if defined $::RD_TRACE;
8662 321         2673 return undef;
8663             }
8664 10 50 33     69 if (!defined($return) && defined($score))
8665             {
8666 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8667             q{perl_codeblock},
8668             $tracelevel)
8669             if defined $::RD_TRACE;
8670 0         0 $return = $score_return;
8671             }
8672 10         20 splice @{$thisparser->{errors}}, $err_at;
  10         31  
8673 10 50       40 $return = $item[$#item] unless defined $return;
8674 10 50       38 if (defined $::RD_TRACE)
8675             {
8676 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8677             $return . q{])}, "",
8678             q{perl_codeblock},
8679             $tracelevel);
8680 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8681             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8682             Parse::RecDescent::_tracefirst($text),
8683             , q{perl_codeblock},
8684             $tracelevel)
8685             }
8686 10         27 $_[1] = $text;
8687 10         170 return $return;
8688             }
8689              
8690             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8691             sub Parse::RecDescent::Config::Maker::Grammar::template
8692             {
8693 37     37   3132 my $thisparser = $_[0];
8694 9     9   97 use vars q{$tracelevel};
  9         21  
  9         8387  
8695 37   100     389 local $tracelevel = ($tracelevel||0)+1;
8696 37         107 $ERRORS = 0;
8697 37         145 my $thisrule = $thisparser->{"rules"}{"template"};
8698              
8699 37 50       128 Parse::RecDescent::_trace(q{Trying rule: [template]},
8700             Parse::RecDescent::_tracefirst($_[1]),
8701             q{template},
8702             $tracelevel)
8703             if defined $::RD_TRACE;
8704              
8705            
8706 37         55 my $err_at = @{$thisparser->{errors}};
  37         100  
8707              
8708 37         67 my $score;
8709             my $score_return;
8710 0         0 my $_tok;
8711 37         76 my $return = undef;
8712 37         70 my $_matched=0;
8713 37         70 my $commit=0;
8714 37         81 my @item = ();
8715 37         92 my %item = ();
8716 37         104 my $repeating = $_[2];
8717 37         75 my $_noactions = $_[3];
8718 37 50       208 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  37         79  
  37         131  
8719 37         201 my $_itempos = $_[5];
8720 37 50       172 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8721 37         87 my $text;
8722             my $lastsep;
8723 0         0 my $current_match;
8724 37         352 my $expectation = new Parse::RecDescent::Expectation(q{});
8725 37         479 $expectation->at($_[1]);
8726            
8727 37         280 my $thisline;
8728 37         565 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8729              
8730            
8731              
8732 37   33     579 while (!$_matched && !$commit)
8733             {
8734 37 50       145 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
8735 37 50       128 Parse::RecDescent::_trace(q{Trying production: [ directive eof]},
8736             Parse::RecDescent::_tracefirst($_[1]),
8737             q{template},
8738             $tracelevel)
8739             if defined $::RD_TRACE;
8740 37         232 my $thisprod = $thisrule->{"prods"}[0];
8741 37         525 $text = $_[1];
8742 37         80 my $_savetext;
8743 37         103 @item = (q{template});
8744 37         131 %item = (__RULE__ => q{template});
8745 37         80 my $repcount = 0;
8746              
8747              
8748            
8749              
8750 37 50       117 Parse::RecDescent::_trace(q{Trying directive: []},
8751             Parse::RecDescent::_tracefirst($text),
8752             q{template},
8753             $tracelevel)
8754             if defined $::RD_TRACE;
8755 37         64 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  37         69  
  37         78  
  37         84  
8756 37 50       171 if (defined($_tok))
8757             {
8758 37 50       172 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
8759             . $_tok . q{])},
8760             Parse::RecDescent::_tracefirst($text))
8761             if defined $::RD_TRACE;
8762             }
8763             else
8764             {
8765 0 0       0 Parse::RecDescent::_trace(q{<>},
8766             Parse::RecDescent::_tracefirst($text))
8767             if defined $::RD_TRACE;
8768             }
8769            
8770 37 50       115 last unless defined $_tok;
8771 37         113 push @item, $item{__DIRECTIVE1__}=$_tok;
8772            
8773              
8774 37 50       126 Parse::RecDescent::_trace(q{Trying repeated subrule: [directive]},
8775             Parse::RecDescent::_tracefirst($text),
8776             q{template},
8777             $tracelevel)
8778             if defined $::RD_TRACE;
8779 37         165 $expectation->is(q{directive})->at($text);
8780            
8781 37 50   112   648 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::directive, 0, 100000000, $_noactions,$expectation,sub { \@arg },undef)))
  112         304  
8782             {
8783 0 0       0 Parse::RecDescent::_trace(q{<>},
8784             Parse::RecDescent::_tracefirst($text),
8785             q{template},
8786             $tracelevel)
8787             if defined $::RD_TRACE;
8788 0         0 last;
8789             }
8790 37 50       1141 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [directive]<< (}
8791             . @$_tok . q{ times)},
8792              
8793             Parse::RecDescent::_tracefirst($text),
8794             q{template},
8795             $tracelevel)
8796             if defined $::RD_TRACE;
8797 37         129 $item{q{directive(s?)}} = $_tok;
8798 37         80 push @item, $_tok;
8799            
8800              
8801              
8802 37 50       156 Parse::RecDescent::_trace(q{Trying subrule: [eof]},
8803             Parse::RecDescent::_tracefirst($text),
8804             q{template},
8805             $tracelevel)
8806             if defined $::RD_TRACE;
8807 9     9   68 if (1) { no strict qw{refs};
  9         21  
  9         11992  
  37         56  
8808 37         162 $expectation->is(q{eof})->at($text);
8809 37 50   37   619 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::eof($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  37         116  
8810             {
8811            
8812 0 0       0 Parse::RecDescent::_trace(q{<>},
8813             Parse::RecDescent::_tracefirst($text),
8814             q{template},
8815             $tracelevel)
8816             if defined $::RD_TRACE;
8817 0         0 $expectation->failed();
8818 0         0 last;
8819             }
8820 37 50       203 Parse::RecDescent::_trace(q{>>Matched subrule: [eof]<< (return value: [}
8821             . $_tok . q{]},
8822              
8823             Parse::RecDescent::_tracefirst($text),
8824             q{template},
8825             $tracelevel)
8826             if defined $::RD_TRACE;
8827 37         118 $item{q{eof}} = $_tok;
8828 37         92 push @item, $_tok;
8829            
8830             }
8831              
8832 37 50       122 Parse::RecDescent::_trace(q{Trying action},
8833             Parse::RecDescent::_tracefirst($text),
8834             q{template},
8835             $tracelevel)
8836             if defined $::RD_TRACE;
8837            
8838              
8839 37 50       119 $_tok = ($_noactions) ? 0 : do { $item[2]; };
  37         99  
8840 37 50       135 unless (defined $_tok)
8841             {
8842 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8843             if defined $::RD_TRACE;
8844 0         0 last;
8845             }
8846 37 50       133 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8847             . $_tok . q{])},
8848             Parse::RecDescent::_tracefirst($text))
8849             if defined $::RD_TRACE;
8850 37         82 push @item, $_tok;
8851 37         96 $item{__ACTION1__}=$_tok;
8852            
8853              
8854 37 50       94 Parse::RecDescent::_trace(q{>>Matched production: [ directive eof]<<},
8855             Parse::RecDescent::_tracefirst($text),
8856             q{template},
8857             $tracelevel)
8858             if defined $::RD_TRACE;
8859              
8860              
8861              
8862 37         126 $_matched = 1;
8863 37         94 last;
8864             }
8865              
8866              
8867 37         153 while (!$_matched)
8868             {
8869            
8870 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
8871             Parse::RecDescent::_tracefirst($_[1]),
8872             q{template},
8873             $tracelevel)
8874             if defined $::RD_TRACE;
8875 0         0 my $thisprod = $thisrule->{"prods"}[1];
8876            
8877 0         0 my $_savetext;
8878 0         0 @item = (q{template});
8879 0         0 %item = (__RULE__ => q{template});
8880 0         0 my $repcount = 0;
8881              
8882              
8883            
8884              
8885 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
8886             Parse::RecDescent::_tracefirst($text),
8887             q{template},
8888             $tracelevel)
8889             if defined $::RD_TRACE;
8890 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
8891 0         0 my $rule = $item[0];
8892 0         0 $rule =~ s/_/ /g;
8893             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
8894 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
8895 0         0 } unless $_noactions; undef } else {0} };
8896 0 0       0 if (defined($_tok))
8897             {
8898 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
8899             . $_tok . q{])},
8900             Parse::RecDescent::_tracefirst($text))
8901             if defined $::RD_TRACE;
8902             }
8903             else
8904             {
8905 0 0       0 Parse::RecDescent::_trace(q{<>},
8906             Parse::RecDescent::_tracefirst($text))
8907             if defined $::RD_TRACE;
8908             }
8909            
8910 0 0       0 last unless defined $_tok;
8911 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
8912            
8913              
8914 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
8915             Parse::RecDescent::_tracefirst($text),
8916             q{template},
8917             $tracelevel)
8918             if defined $::RD_TRACE;
8919              
8920              
8921              
8922 0         0 $_matched = 1;
8923 0         0 last;
8924             }
8925              
8926              
8927 37 50 33     133 unless ( $_matched || defined($score) )
8928             {
8929            
8930              
8931 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
8932 0 0       0 Parse::RecDescent::_trace(q{<>},
8933             Parse::RecDescent::_tracefirst($_[1]),
8934             q{template},
8935             $tracelevel)
8936             if defined $::RD_TRACE;
8937 0         0 return undef;
8938             }
8939 37 50 33     228 if (!defined($return) && defined($score))
8940             {
8941 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8942             q{template},
8943             $tracelevel)
8944             if defined $::RD_TRACE;
8945 0         0 $return = $score_return;
8946             }
8947 37         65 splice @{$thisparser->{errors}}, $err_at;
  37         157  
8948 37 50       140 $return = $item[$#item] unless defined $return;
8949 37 50       130 if (defined $::RD_TRACE)
8950             {
8951 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8952             $return . q{])}, "",
8953             q{template},
8954             $tracelevel);
8955 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8956             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8957             Parse::RecDescent::_tracefirst($text),
8958             , q{template},
8959             $tracelevel)
8960             }
8961 37         114 $_[1] = $text;
8962 37         432 return $return;
8963             }
8964              
8965             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
8966             sub Parse::RecDescent::Config::Maker::Grammar::literal
8967             {
8968 335     335   637 my $thisparser = $_[0];
8969 9     9   63 use vars q{$tracelevel};
  9         21  
  9         57536  
8970 335   50     1100 local $tracelevel = ($tracelevel||0)+1;
8971 335         428 $ERRORS = 0;
8972 335         908 my $thisrule = $thisparser->{"rules"}{"literal"};
8973              
8974 335 50       998 Parse::RecDescent::_trace(q{Trying rule: [literal]},
8975             Parse::RecDescent::_tracefirst($_[1]),
8976             q{literal},
8977             $tracelevel)
8978             if defined $::RD_TRACE;
8979              
8980            
8981 335         381 my $err_at = @{$thisparser->{errors}};
  335         937  
8982              
8983 335         677 my $score;
8984             my $score_return;
8985 0         0 my $_tok;
8986 335         526 my $return = undef;
8987 335         467 my $_matched=0;
8988 335         403 my $commit=0;
8989 335         547 my @item = ();
8990 335         540 my %item = ();
8991 335         438 my $repeating = $_[2];
8992 335         438 my $_noactions = $_[3];
8993 335 50       875 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  335         422  
  335         694  
8994 335         535 my $_itempos = $_[5];
8995 335 50       990 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8996 335         471 my $text;
8997             my $lastsep;
8998 0         0 my $current_match;
8999 335         1638 my $expectation = new Parse::RecDescent::Expectation(q{/[[:alnum:].!@%*=:\\/?_+-]+/, or /"(?:[^"]|\\\\.)*"/, or /'(?:[^']|\\\\.)*'/});
9000 335         10503 $expectation->at($_[1]);
9001            
9002 335         1450 my $thisline;
9003 335         1591 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9004              
9005            
9006              
9007 335   33     3463 while (!$_matched && !$commit)
9008             {
9009            
9010 335 50       856 Parse::RecDescent::_trace(q{Trying production: [/[[:alnum:].!@%*=:\\/?_+-]+/]},
9011             Parse::RecDescent::_tracefirst($_[1]),
9012             q{literal},
9013             $tracelevel)
9014             if defined $::RD_TRACE;
9015 335         806 my $thisprod = $thisrule->{"prods"}[0];
9016 335         574 $text = $_[1];
9017 335         446 my $_savetext;
9018 335         727 @item = (q{literal});
9019 335         845 %item = (__RULE__ => q{literal});
9020 335         834 my $repcount = 0;
9021              
9022              
9023 335 50       898 Parse::RecDescent::_trace(q{Trying terminal: [/[[:alnum:].!@%*=:\\/?_+-]+/]}, Parse::RecDescent::_tracefirst($text),
9024             q{literal},
9025             $tracelevel)
9026             if defined $::RD_TRACE;
9027 335         572 undef $lastsep;
9028 335         1056 $expectation->is(q{})->at($text);
9029            
9030              
9031 335 100 66     5197 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[[:alnum:].!@%*=:\/?_+-]+)/)
  335 100       4415  
9032             {
9033 312 50       1529 $text = $lastsep . $text if defined $lastsep;
9034 312         1159 $expectation->failed();
9035 312 50       2550 Parse::RecDescent::_trace(q{<>},
9036             Parse::RecDescent::_tracefirst($text))
9037             if defined $::RD_TRACE;
9038              
9039 312         828 last;
9040             }
9041 23         194 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9042 23         119 substr($text,0,length($current_match),q{});
9043 23 50       103 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9044             . $current_match . q{])},
9045             Parse::RecDescent::_tracefirst($text))
9046             if defined $::RD_TRACE;
9047 23         72 push @item, $item{__PATTERN1__}=$current_match;
9048            
9049              
9050 23 50       76 Parse::RecDescent::_trace(q{>>Matched production: [/[[:alnum:].!@%*=:\\/?_+-]+/]<<},
9051             Parse::RecDescent::_tracefirst($text),
9052             q{literal},
9053             $tracelevel)
9054             if defined $::RD_TRACE;
9055              
9056              
9057              
9058 23         43 $_matched = 1;
9059 23         56 last;
9060             }
9061              
9062              
9063 335   66     1670 while (!$_matched && !$commit)
9064             {
9065            
9066 312 50       777 Parse::RecDescent::_trace(q{Trying production: [/"(?:[^"]|\\\\.)*"/]},
9067             Parse::RecDescent::_tracefirst($_[1]),
9068             q{literal},
9069             $tracelevel)
9070             if defined $::RD_TRACE;
9071 312         765 my $thisprod = $thisrule->{"prods"}[1];
9072 312         829 $text = $_[1];
9073 312         375 my $_savetext;
9074 312         744 @item = (q{literal});
9075 312         756 %item = (__RULE__ => q{literal});
9076 312         640 my $repcount = 0;
9077              
9078              
9079 312 50       950 Parse::RecDescent::_trace(q{Trying terminal: [/"(?:[^"]|\\\\.)*"/]}, Parse::RecDescent::_tracefirst($text),
9080             q{literal},
9081             $tracelevel)
9082             if defined $::RD_TRACE;
9083 312         455 undef $lastsep;
9084 312         1197 $expectation->is(q{})->at($text);
9085            
9086              
9087 312 100 66     4599 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:"(?:[^"]|\\.)*")/)
  312 100       3875  
9088             {
9089 307 50       1024 $text = $lastsep . $text if defined $lastsep;
9090 307         1099 $expectation->failed();
9091 307 50       1579 Parse::RecDescent::_trace(q{<>},
9092             Parse::RecDescent::_tracefirst($text))
9093             if defined $::RD_TRACE;
9094              
9095 307         639 last;
9096             }
9097 5         50 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9098 5         22 substr($text,0,length($current_match),q{});
9099 5 50       23 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9100             . $current_match . q{])},
9101             Parse::RecDescent::_tracefirst($text))
9102             if defined $::RD_TRACE;
9103 5         12 push @item, $item{__PATTERN1__}=$current_match;
9104            
9105              
9106 5 50       18 Parse::RecDescent::_trace(q{Trying action},
9107             Parse::RecDescent::_tracefirst($text),
9108             q{literal},
9109             $tracelevel)
9110             if defined $::RD_TRACE;
9111            
9112              
9113 5 50       21 $_tok = ($_noactions) ? 0 : do { Config::Maker::unquote_double($item[1]); };
  5         33  
9114 5 50       23 unless (defined $_tok)
9115             {
9116 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
9117             if defined $::RD_TRACE;
9118 0         0 last;
9119             }
9120 5 50       16 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9121             . $_tok . q{])},
9122             Parse::RecDescent::_tracefirst($text))
9123             if defined $::RD_TRACE;
9124 5         13 push @item, $_tok;
9125 5         15 $item{__ACTION1__}=$_tok;
9126            
9127              
9128 5 50       13 Parse::RecDescent::_trace(q{>>Matched production: [/"(?:[^"]|\\\\.)*"/]<<},
9129             Parse::RecDescent::_tracefirst($text),
9130             q{literal},
9131             $tracelevel)
9132             if defined $::RD_TRACE;
9133              
9134              
9135              
9136 5         13 $_matched = 1;
9137 5         12 last;
9138             }
9139              
9140              
9141 335   66     1732 while (!$_matched && !$commit)
9142             {
9143            
9144 307 50       727 Parse::RecDescent::_trace(q{Trying production: [/'(?:[^']|\\\\.)*'/]},
9145             Parse::RecDescent::_tracefirst($_[1]),
9146             q{literal},
9147             $tracelevel)
9148             if defined $::RD_TRACE;
9149 307         734 my $thisprod = $thisrule->{"prods"}[2];
9150 307         543 $text = $_[1];
9151 307         402 my $_savetext;
9152 307         894 @item = (q{literal});
9153 307         786 %item = (__RULE__ => q{literal});
9154 307         430 my $repcount = 0;
9155              
9156              
9157 307 50       757 Parse::RecDescent::_trace(q{Trying terminal: [/'(?:[^']|\\\\.)*'/]}, Parse::RecDescent::_tracefirst($text),
9158             q{literal},
9159             $tracelevel)
9160             if defined $::RD_TRACE;
9161 307         458 undef $lastsep;
9162 307         1027 $expectation->is(q{})->at($text);
9163            
9164              
9165 307 100 66     4202 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:'(?:[^']|\\.)*')/)
  307 100       5728  
9166             {
9167 68 50       267 $text = $lastsep . $text if defined $lastsep;
9168 68         248 $expectation->failed();
9169 68 50       357 Parse::RecDescent::_trace(q{<>},
9170             Parse::RecDescent::_tracefirst($text))
9171             if defined $::RD_TRACE;
9172              
9173 68         181 last;
9174             }
9175 239         1875 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9176 239         1234 substr($text,0,length($current_match),q{});
9177 239 50       669 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9178             . $current_match . q{])},
9179             Parse::RecDescent::_tracefirst($text))
9180             if defined $::RD_TRACE;
9181 239         683 push @item, $item{__PATTERN1__}=$current_match;
9182            
9183              
9184 239 50       695 Parse::RecDescent::_trace(q{Trying action},
9185             Parse::RecDescent::_tracefirst($text),
9186             q{literal},
9187             $tracelevel)
9188             if defined $::RD_TRACE;
9189            
9190              
9191 239 50       1159 $_tok = ($_noactions) ? 0 : do { Config::Maker::unquote_single($item[1]); };
  239         1181  
9192 239 50       806 unless (defined $_tok)
9193             {
9194 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
9195             if defined $::RD_TRACE;
9196 0         0 last;
9197             }
9198 239 50       800 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9199             . $_tok . q{])},
9200             Parse::RecDescent::_tracefirst($text))
9201             if defined $::RD_TRACE;
9202 239         486 push @item, $_tok;
9203 239         500 $item{__ACTION1__}=$_tok;
9204            
9205              
9206 239 50       541 Parse::RecDescent::_trace(q{>>Matched production: [/'(?:[^']|\\\\.)*'/]<<},
9207             Parse::RecDescent::_tracefirst($text),
9208             q{literal},
9209             $tracelevel)
9210             if defined $::RD_TRACE;
9211              
9212              
9213              
9214 239         387 $_matched = 1;
9215 239         516 last;
9216             }
9217              
9218              
9219 335         994 while (!$_matched)
9220             {
9221            
9222 68 50       287 Parse::RecDescent::_trace(q{Trying production: []},
9223             Parse::RecDescent::_tracefirst($_[1]),
9224             q{literal},
9225             $tracelevel)
9226             if defined $::RD_TRACE;
9227 68         487 my $thisprod = $thisrule->{"prods"}[3];
9228            
9229 68         109 my $_savetext;
9230 68         303 @item = (q{literal});
9231 68         205 %item = (__RULE__ => q{literal});
9232 68         105 my $repcount = 0;
9233              
9234              
9235            
9236              
9237 68 50       231 Parse::RecDescent::_trace(q{Trying directive: []},
9238             Parse::RecDescent::_tracefirst($text),
9239             q{literal},
9240             $tracelevel)
9241             if defined $::RD_TRACE;
9242 68 50       97 $_tok = do { if (1) { do {
  68         111  
  68         208  
9243 68         145 my $rule = $item[0];
9244 68         153 $rule =~ s/_/ /g;
9245             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
9246 68         111 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  68         393  
9247 68         4120 } unless $_noactions; undef } else {0} };
9248 68 50       224 if (defined($_tok))
9249             {
9250 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
9251             . $_tok . q{])},
9252             Parse::RecDescent::_tracefirst($text))
9253             if defined $::RD_TRACE;
9254             }
9255             else
9256             {
9257 68 50       217 Parse::RecDescent::_trace(q{<>},
9258             Parse::RecDescent::_tracefirst($text))
9259             if defined $::RD_TRACE;
9260             }
9261            
9262 68 50       215 last unless defined $_tok;
9263 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
9264            
9265              
9266 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
9267             Parse::RecDescent::_tracefirst($text),
9268             q{literal},
9269             $tracelevel)
9270             if defined $::RD_TRACE;
9271              
9272              
9273              
9274 0         0 $_matched = 1;
9275 0         0 last;
9276             }
9277              
9278              
9279 335 100 66     1081 unless ( $_matched || defined($score) )
9280             {
9281            
9282              
9283 68         162 $_[1] = $text; # NOT SURE THIS IS NEEDED
9284 68 50       213 Parse::RecDescent::_trace(q{<>},
9285             Parse::RecDescent::_tracefirst($_[1]),
9286             q{literal},
9287             $tracelevel)
9288             if defined $::RD_TRACE;
9289 68         604 return undef;
9290             }
9291 267 50 33     1536 if (!defined($return) && defined($score))
9292             {
9293 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9294             q{literal},
9295             $tracelevel)
9296             if defined $::RD_TRACE;
9297 0         0 $return = $score_return;
9298             }
9299 267         420 splice @{$thisparser->{errors}}, $err_at;
  267         1233  
9300 267 50       19613 $return = $item[$#item] unless defined $return;
9301 267 50       691 if (defined $::RD_TRACE)
9302             {
9303 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9304             $return . q{])}, "",
9305             q{literal},
9306             $tracelevel);
9307 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9308             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9309             Parse::RecDescent::_tracefirst($text),
9310             , q{literal},
9311             $tracelevel)
9312             }
9313 267         519 $_[1] = $text;
9314 267         2667 return $return;
9315             }
9316              
9317             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
9318             sub Parse::RecDescent::Config::Maker::Grammar::body_named_group
9319             {
9320 181     181   457 my $thisparser = $_[0];
9321 9     9   119 use vars q{$tracelevel};
  9         20  
  9         30212  
9322 181   50     661 local $tracelevel = ($tracelevel||0)+1;
9323 181         354 $ERRORS = 0;
9324 181         558 my $thisrule = $thisparser->{"rules"}{"body_named_group"};
9325              
9326 181 50       511 Parse::RecDescent::_trace(q{Trying rule: [body_named_group]},
9327             Parse::RecDescent::_tracefirst($_[1]),
9328             q{body_named_group},
9329             $tracelevel)
9330             if defined $::RD_TRACE;
9331              
9332            
9333 181         260 my $err_at = @{$thisparser->{errors}};
  181         398  
9334              
9335 181         466 my $score;
9336             my $score_return;
9337 0         0 my $_tok;
9338 181         264 my $return = undef;
9339 181         290 my $_matched=0;
9340 181         290 my $commit=0;
9341 181         354 my @item = ();
9342 181         372 my %item = ();
9343 181         1645 my $repeating = $_[2];
9344 181         275 my $_noactions = $_[3];
9345 181 50       495 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  181         261  
  181         543  
9346 181         597 my $_itempos = $_[5];
9347 181 50       1042 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9348 181         539 my $text;
9349             my $lastsep;
9350 0         0 my $current_match;
9351 181         1238 my $expectation = new Parse::RecDescent::Expectation(q{value});
9352 181         1706 $expectation->at($_[1]);
9353            
9354 181         856 my $thisline;
9355 181         871 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9356              
9357            
9358              
9359 181   33     2263 while (!$_matched && !$commit)
9360             {
9361            
9362 181 50       536 Parse::RecDescent::_trace(q{Trying production: [value block]},
9363             Parse::RecDescent::_tracefirst($_[1]),
9364             q{body_named_group},
9365             $tracelevel)
9366             if defined $::RD_TRACE;
9367 181         746 my $thisprod = $thisrule->{"prods"}[0];
9368 181         392 $text = $_[1];
9369 181         280 my $_savetext;
9370 181         436 @item = (q{body_named_group});
9371 181         483 %item = (__RULE__ => q{body_named_group});
9372 181         328 my $repcount = 0;
9373              
9374              
9375 181 50       512 Parse::RecDescent::_trace(q{Trying subrule: [value]},
9376             Parse::RecDescent::_tracefirst($text),
9377             q{body_named_group},
9378             $tracelevel)
9379             if defined $::RD_TRACE;
9380 9     9   71 if (1) { no strict qw{refs};
  9         20  
  9         2191  
  181         285  
9381 181         648 $expectation->is(q{})->at($text);
9382 181 50   181   2334 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::value($thisparser,$text,$repeating,$_noactions,sub { return [@{$arg[1]}] },undef)))
  181         320  
  181         701  
9383             {
9384            
9385 0 0       0 Parse::RecDescent::_trace(q{<>},
9386             Parse::RecDescent::_tracefirst($text),
9387             q{body_named_group},
9388             $tracelevel)
9389             if defined $::RD_TRACE;
9390 0         0 $expectation->failed();
9391 0         0 last;
9392             }
9393 181 50       981 Parse::RecDescent::_trace(q{>>Matched subrule: [value]<< (return value: [}
9394             . $_tok . q{]},
9395              
9396             Parse::RecDescent::_tracefirst($text),
9397             q{body_named_group},
9398             $tracelevel)
9399             if defined $::RD_TRACE;
9400 181         446 $item{q{value}} = $_tok;
9401 181         353 push @item, $_tok;
9402            
9403             }
9404              
9405 181 50       849 Parse::RecDescent::_trace(q{Trying subrule: [block]},
9406             Parse::RecDescent::_tracefirst($text),
9407             q{body_named_group},
9408             $tracelevel)
9409             if defined $::RD_TRACE;
9410 9     9   69 if (1) { no strict qw{refs};
  9         21  
  9         18444  
  181         270  
9411 181         741 $expectation->is(q{block})->at($text);
9412 181 50   181   15204 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::block($thisparser,$text,$repeating,$_noactions,sub { return [$arg[0]] },undef)))
  181         676  
9413             {
9414            
9415 0 0       0 Parse::RecDescent::_trace(q{<>},
9416             Parse::RecDescent::_tracefirst($text),
9417             q{body_named_group},
9418             $tracelevel)
9419             if defined $::RD_TRACE;
9420 0         0 $expectation->failed();
9421 0         0 last;
9422             }
9423 181 50       1086 Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [}
9424             . $_tok . q{]},
9425              
9426             Parse::RecDescent::_tracefirst($text),
9427             q{body_named_group},
9428             $tracelevel)
9429             if defined $::RD_TRACE;
9430 181         499 $item{q{block}} = $_tok;
9431 181         603 push @item, $_tok;
9432            
9433             }
9434              
9435 181 50       604 Parse::RecDescent::_trace(q{Trying action},
9436             Parse::RecDescent::_tracefirst($text),
9437             q{body_named_group},
9438             $tracelevel)
9439             if defined $::RD_TRACE;
9440            
9441              
9442 181 50       461 $_tok = ($_noactions) ? 0 : do { +{
9443 181         946 -value => $item[1],
9444             -children => $item[2],
9445             }; };
9446 181 50       573 unless (defined $_tok)
9447             {
9448 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
9449             if defined $::RD_TRACE;
9450 0         0 last;
9451             }
9452 181 50       447 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9453             . $_tok . q{])},
9454             Parse::RecDescent::_tracefirst($text))
9455             if defined $::RD_TRACE;
9456 181         335 push @item, $_tok;
9457 181         426 $item{__ACTION1__}=$_tok;
9458            
9459              
9460 181 50       536 Parse::RecDescent::_trace(q{>>Matched production: [value block]<<},
9461             Parse::RecDescent::_tracefirst($text),
9462             q{body_named_group},
9463             $tracelevel)
9464             if defined $::RD_TRACE;
9465              
9466              
9467              
9468 181         284 $_matched = 1;
9469 181         423 last;
9470             }
9471              
9472              
9473 181         545 while (!$_matched)
9474             {
9475            
9476 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
9477             Parse::RecDescent::_tracefirst($_[1]),
9478             q{body_named_group},
9479             $tracelevel)
9480             if defined $::RD_TRACE;
9481 0         0 my $thisprod = $thisrule->{"prods"}[1];
9482            
9483 0         0 my $_savetext;
9484 0         0 @item = (q{body_named_group});
9485 0         0 %item = (__RULE__ => q{body_named_group});
9486 0         0 my $repcount = 0;
9487              
9488              
9489            
9490              
9491 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
9492             Parse::RecDescent::_tracefirst($text),
9493             q{body_named_group},
9494             $tracelevel)
9495             if defined $::RD_TRACE;
9496 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
9497 0         0 my $rule = $item[0];
9498 0         0 $rule =~ s/_/ /g;
9499             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
9500 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
9501 0         0 } unless $_noactions; undef } else {0} };
9502 0 0       0 if (defined($_tok))
9503             {
9504 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
9505             . $_tok . q{])},
9506             Parse::RecDescent::_tracefirst($text))
9507             if defined $::RD_TRACE;
9508             }
9509             else
9510             {
9511 0 0       0 Parse::RecDescent::_trace(q{<>},
9512             Parse::RecDescent::_tracefirst($text))
9513             if defined $::RD_TRACE;
9514             }
9515            
9516 0 0       0 last unless defined $_tok;
9517 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
9518            
9519              
9520 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
9521             Parse::RecDescent::_tracefirst($text),
9522             q{body_named_group},
9523             $tracelevel)
9524             if defined $::RD_TRACE;
9525              
9526              
9527              
9528 0         0 $_matched = 1;
9529 0         0 last;
9530             }
9531              
9532              
9533 181 50 33     627 unless ( $_matched || defined($score) )
9534             {
9535            
9536              
9537 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
9538 0 0       0 Parse::RecDescent::_trace(q{<>},
9539             Parse::RecDescent::_tracefirst($_[1]),
9540             q{body_named_group},
9541             $tracelevel)
9542             if defined $::RD_TRACE;
9543 0         0 return undef;
9544             }
9545 181 50 33     975 if (!defined($return) && defined($score))
9546             {
9547 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9548             q{body_named_group},
9549             $tracelevel)
9550             if defined $::RD_TRACE;
9551 0         0 $return = $score_return;
9552             }
9553 181         269 splice @{$thisparser->{errors}}, $err_at;
  181         1383  
9554 181 50       575 $return = $item[$#item] unless defined $return;
9555 181 50       519 if (defined $::RD_TRACE)
9556             {
9557 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9558             $return . q{])}, "",
9559             q{body_named_group},
9560             $tracelevel);
9561 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9562             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9563             Parse::RecDescent::_tracefirst($text),
9564             , q{body_named_group},
9565             $tracelevel)
9566             }
9567 181         403 $_[1] = $text;
9568 181         2347 return $return;
9569             }
9570              
9571             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
9572             sub Parse::RecDescent::Config::Maker::Grammar::byte
9573             {
9574 48     48   84 my $thisparser = $_[0];
9575 9     9   67 use vars q{$tracelevel};
  9         21  
  9         4253  
9576 48   50     384 local $tracelevel = ($tracelevel||0)+1;
9577 48         62 $ERRORS = 0;
9578 48         110 my $thisrule = $thisparser->{"rules"}{"byte"};
9579              
9580 48 50       158 Parse::RecDescent::_trace(q{Trying rule: [byte]},
9581             Parse::RecDescent::_tracefirst($_[1]),
9582             q{byte},
9583             $tracelevel)
9584             if defined $::RD_TRACE;
9585              
9586            
9587 48         70 my $err_at = @{$thisparser->{errors}};
  48         94  
9588              
9589 48         69 my $score;
9590             my $score_return;
9591 0         0 my $_tok;
9592 48         67 my $return = undef;
9593 48         165 my $_matched=0;
9594 48         223 my $commit=0;
9595 48         86 my @item = ();
9596 48         106 my %item = ();
9597 48         444 my $repeating = $_[2];
9598 48         65 my $_noactions = $_[3];
9599 48 50       105 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  48         113  
  48         109  
9600 48         74 my $_itempos = $_[5];
9601 48 50       148 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9602 48         63 my $text;
9603             my $lastsep;
9604 0         0 my $current_match;
9605 48         202 my $expectation = new Parse::RecDescent::Expectation(q{decint});
9606 48         988 $expectation->at($_[1]);
9607            
9608 48         337 my $thisline;
9609 48         270 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9610              
9611            
9612              
9613 48   33     2002 while (!$_matched && !$commit)
9614             {
9615            
9616 48 50       189 Parse::RecDescent::_trace(q{Trying production: [decint]},
9617             Parse::RecDescent::_tracefirst($_[1]),
9618             q{byte},
9619             $tracelevel)
9620             if defined $::RD_TRACE;
9621 48         127 my $thisprod = $thisrule->{"prods"}[0];
9622 48         73 $text = $_[1];
9623 48         56 my $_savetext;
9624 48         113 @item = (q{byte});
9625 48         421 %item = (__RULE__ => q{byte});
9626 48         104 my $repcount = 0;
9627              
9628              
9629 48 50       192 Parse::RecDescent::_trace(q{Trying subrule: [decint]},
9630             Parse::RecDescent::_tracefirst($text),
9631             q{byte},
9632             $tracelevel)
9633             if defined $::RD_TRACE;
9634 9     9   67 if (1) { no strict qw{refs};
  9         21  
  9         5150  
  48         54  
9635 48         169 $expectation->is(q{})->at($text);
9636 48 50   48   738 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::decint($thisparser,$text,$repeating,$_noactions,sub { return [0,255] },undef)))
  48         299  
9637             {
9638            
9639 0 0       0 Parse::RecDescent::_trace(q{<>},
9640             Parse::RecDescent::_tracefirst($text),
9641             q{byte},
9642             $tracelevel)
9643             if defined $::RD_TRACE;
9644 0         0 $expectation->failed();
9645 0         0 last;
9646             }
9647 48 50       416 Parse::RecDescent::_trace(q{>>Matched subrule: [decint]<< (return value: [}
9648             . $_tok . q{]},
9649              
9650             Parse::RecDescent::_tracefirst($text),
9651             q{byte},
9652             $tracelevel)
9653             if defined $::RD_TRACE;
9654 48         237 $item{q{decint}} = $_tok;
9655 48         80 push @item, $_tok;
9656            
9657             }
9658              
9659 48 50       112 Parse::RecDescent::_trace(q{>>Matched production: [decint]<<},
9660             Parse::RecDescent::_tracefirst($text),
9661             q{byte},
9662             $tracelevel)
9663             if defined $::RD_TRACE;
9664              
9665              
9666              
9667 48         74 $_matched = 1;
9668 48         86 last;
9669             }
9670              
9671              
9672 48 50 33     180 unless ( $_matched || defined($score) )
9673             {
9674            
9675              
9676 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
9677 0 0       0 Parse::RecDescent::_trace(q{<>},
9678             Parse::RecDescent::_tracefirst($_[1]),
9679             q{byte},
9680             $tracelevel)
9681             if defined $::RD_TRACE;
9682 0         0 return undef;
9683             }
9684 48 50 33     655 if (!defined($return) && defined($score))
9685             {
9686 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9687             q{byte},
9688             $tracelevel)
9689             if defined $::RD_TRACE;
9690 0         0 $return = $score_return;
9691             }
9692 48         57 splice @{$thisparser->{errors}}, $err_at;
  48         117  
9693 48 50       137 $return = $item[$#item] unless defined $return;
9694 48 50       106 if (defined $::RD_TRACE)
9695             {
9696 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9697             $return . q{])}, "",
9698             q{byte},
9699             $tracelevel);
9700 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9701             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9702             Parse::RecDescent::_tracefirst($text),
9703             , q{byte},
9704             $tracelevel)
9705             }
9706 48         101 $_[1] = $text;
9707 48         751 return $return;
9708             }
9709              
9710             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
9711             sub Parse::RecDescent::Config::Maker::Grammar::body
9712             {
9713 689     689   1452 my $thisparser = $_[0];
9714 9     9   57 use vars q{$tracelevel};
  9         15  
  9         4213  
9715 689   50     2180 local $tracelevel = ($tracelevel||0)+1;
9716 689         916 $ERRORS = 0;
9717 689         9486 my $thisrule = $thisparser->{"rules"}{"body"};
9718              
9719 689 50       1706 Parse::RecDescent::_trace(q{Trying rule: [body]},
9720             Parse::RecDescent::_tracefirst($_[1]),
9721             q{body},
9722             $tracelevel)
9723             if defined $::RD_TRACE;
9724              
9725            
9726 689         910 my $err_at = @{$thisparser->{errors}};
  689         1353  
9727              
9728 689         1511 my $score;
9729             my $score_return;
9730 0         0 my $_tok;
9731 689         846 my $return = undef;
9732 689         888 my $_matched=0;
9733 689         1486 my $commit=0;
9734 689         1109 my @item = ();
9735 689         1261 my %item = ();
9736 689         971 my $repeating = $_[2];
9737 689         2607 my $_noactions = $_[3];
9738 689 50       1561 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  689         918  
  689         1612  
9739 689         1716 my $_itempos = $_[5];
9740 689 100       16541 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9741 689         1371 my $text;
9742             my $lastsep;
9743 0         0 my $current_match;
9744 689         3134 my $expectation = new Parse::RecDescent::Expectation(q{});
9745 689         7344 $expectation->at($_[1]);
9746            
9747 689         3472 my $thisline;
9748 689         3853 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9749              
9750            
9751              
9752 689   33     8055 while (!$_matched && !$commit)
9753             {
9754            
9755 689 50       1920 Parse::RecDescent::_trace(q{Trying production: []},
9756             Parse::RecDescent::_tracefirst($_[1]),
9757             q{body},
9758             $tracelevel)
9759             if defined $::RD_TRACE;
9760 689         1990 my $thisprod = $thisrule->{"prods"}[0];
9761 689         1121 $text = $_[1];
9762 689         1017 my $_savetext;
9763 689         1906 @item = (q{body});
9764 689         1873 %item = (__RULE__ => q{body});
9765 689         995 my $repcount = 0;
9766              
9767              
9768 689 50       1526 Parse::RecDescent::_trace(q{Trying subrule: [body_$arg[1]]},
9769             Parse::RecDescent::_tracefirst($text),
9770             q{body},
9771             $tracelevel)
9772             if defined $::RD_TRACE;
9773 9     9   78 if (1) { no strict qw{refs};
  9         27  
  9         4947  
  689         867  
9774 689         2150 $expectation->is(q{})->at($text);
9775 689 50   689   7675 unless (defined ($_tok = &{'Parse::RecDescent::Config::Maker::Grammar::'.qq{body_$arg[1]}}($thisparser,$text,$repeating,$_noactions,sub { return [$arg[0], @arg[2..$#arg]] },undef)))
  689         8918  
  689         4432  
9776             {
9777            
9778 0 0       0 Parse::RecDescent::_trace(q{<>},
9779             Parse::RecDescent::_tracefirst($text),
9780             q{body},
9781             $tracelevel)
9782             if defined $::RD_TRACE;
9783 0         0 $expectation->failed();
9784 0         0 last;
9785             }
9786 689 50       36979 Parse::RecDescent::_trace(q{>>Matched subrule: [body_$arg[1]]<< (return value: [}
9787             . $_tok . q{]},
9788              
9789             Parse::RecDescent::_tracefirst($text),
9790             q{body},
9791             $tracelevel)
9792             if defined $::RD_TRACE;
9793 689         1679 $item{q{body_$arg[1]}} = $_tok;
9794 689         2146 push @item, $_tok;
9795            
9796             }
9797              
9798 689 50       1712 Parse::RecDescent::_trace(q{>>Matched production: []<<},
9799             Parse::RecDescent::_tracefirst($text),
9800             q{body},
9801             $tracelevel)
9802             if defined $::RD_TRACE;
9803              
9804              
9805              
9806 689         979 $_matched = 1;
9807 689         1344 last;
9808             }
9809              
9810              
9811 689 50 33     2040 unless ( $_matched || defined($score) )
9812             {
9813            
9814              
9815 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
9816 0 0       0 Parse::RecDescent::_trace(q{<>},
9817             Parse::RecDescent::_tracefirst($_[1]),
9818             q{body},
9819             $tracelevel)
9820             if defined $::RD_TRACE;
9821 0         0 return undef;
9822             }
9823 689 50 33     3938 if (!defined($return) && defined($score))
9824             {
9825 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9826             q{body},
9827             $tracelevel)
9828             if defined $::RD_TRACE;
9829 0         0 $return = $score_return;
9830             }
9831 689         1160 splice @{$thisparser->{errors}}, $err_at;
  689         1726  
9832 689 50       1935 $return = $item[$#item] unless defined $return;
9833 689 50       1620 if (defined $::RD_TRACE)
9834             {
9835 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9836             $return . q{])}, "",
9837             q{body},
9838             $tracelevel);
9839 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9840             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9841             Parse::RecDescent::_tracefirst($text),
9842             , q{body},
9843             $tracelevel)
9844             }
9845 689         1314 $_[1] = $text;
9846 689         9646 return $return;
9847             }
9848              
9849             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
9850             sub Parse::RecDescent::Config::Maker::Grammar::space
9851             {
9852 78     78   205 my $thisparser = $_[0];
9853 9     9   64 use vars q{$tracelevel};
  9         19  
  9         18560  
9854 78   50     318 local $tracelevel = ($tracelevel||0)+1;
9855 78         207 $ERRORS = 0;
9856 78         250 my $thisrule = $thisparser->{"rules"}{"space"};
9857              
9858 78 50       244 Parse::RecDescent::_trace(q{Trying rule: [space]},
9859             Parse::RecDescent::_tracefirst($_[1]),
9860             q{space},
9861             $tracelevel)
9862             if defined $::RD_TRACE;
9863              
9864            
9865 78         111 my $err_at = @{$thisparser->{errors}};
  78         198  
9866              
9867 78         143 my $score;
9868             my $score_return;
9869 0         0 my $_tok;
9870 78         128 my $return = undef;
9871 78         106 my $_matched=0;
9872 78         118 my $commit=0;
9873 78         148 my @item = ();
9874 78         297 my %item = ();
9875 78         125 my $repeating = $_[2];
9876 78         118 my $_noactions = $_[3];
9877 78 50       227 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  78         152  
  78         203  
9878 78         329 my $_itempos = $_[5];
9879 78 100       364 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9880 78         139 my $text;
9881             my $lastsep;
9882 0         0 my $current_match;
9883 78         342 my $expectation = new Parse::RecDescent::Expectation(q{});
9884 78         906 $expectation->at($_[1]);
9885            
9886 78         364 my $thisline;
9887 78         463 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9888              
9889            
9890              
9891 78   33     1099 while (!$_matched && !$commit)
9892             {
9893 78 50       314 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
9894 78 50       244 Parse::RecDescent::_trace(q{Trying production: [ /[ \\t]*\\n?/]},
9895             Parse::RecDescent::_tracefirst($_[1]),
9896             q{space},
9897             $tracelevel)
9898             if defined $::RD_TRACE;
9899 78         244 my $thisprod = $thisrule->{"prods"}[0];
9900 78         160 $text = $_[1];
9901 78         127 my $_savetext;
9902 78         166 @item = (q{space});
9903 78         266 %item = (__RULE__ => q{space});
9904 78         128 my $repcount = 0;
9905              
9906              
9907            
9908              
9909 78 50       214 Parse::RecDescent::_trace(q{Trying directive: []},
9910             Parse::RecDescent::_tracefirst($text),
9911             q{space},
9912             $tracelevel)
9913             if defined $::RD_TRACE;
9914 78         110 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  78         128  
  78         141  
  78         165  
9915 78 50       198 if (defined($_tok))
9916             {
9917 78 50       213 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
9918             . $_tok . q{])},
9919             Parse::RecDescent::_tracefirst($text))
9920             if defined $::RD_TRACE;
9921             }
9922             else
9923             {
9924 0 0       0 Parse::RecDescent::_trace(q{<>},
9925             Parse::RecDescent::_tracefirst($text))
9926             if defined $::RD_TRACE;
9927             }
9928            
9929 78 50       198 last unless defined $_tok;
9930 78         430 push @item, $item{__DIRECTIVE1__}=$_tok;
9931            
9932              
9933 78 50       196 Parse::RecDescent::_trace(q{Trying terminal: [/[ \\t]*\\n?/]}, Parse::RecDescent::_tracefirst($text),
9934             q{space},
9935             $tracelevel)
9936             if defined $::RD_TRACE;
9937 78         119 undef $lastsep;
9938 78         363 $expectation->is(q{/[ \\t]*\\n?/})->at($text);
9939            
9940              
9941 78 50 33     1318 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:[ \t]*\n?)/)
  78 50       1091  
9942             {
9943 0 0       0 $text = $lastsep . $text if defined $lastsep;
9944 0         0 $expectation->failed();
9945 0 0       0 Parse::RecDescent::_trace(q{<>},
9946             Parse::RecDescent::_tracefirst($text))
9947             if defined $::RD_TRACE;
9948              
9949 0         0 last;
9950             }
9951 78         519 $current_match = substr($text, $-[0], $+[0] - $-[0]);
9952 78         389 substr($text,0,length($current_match),q{});
9953 78 50       222 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9954             . $current_match . q{])},
9955             Parse::RecDescent::_tracefirst($text))
9956             if defined $::RD_TRACE;
9957 78         239 push @item, $item{__PATTERN1__}=$current_match;
9958            
9959              
9960 78 50       219 Parse::RecDescent::_trace(q{>>Matched production: [ /[ \\t]*\\n?/]<<},
9961             Parse::RecDescent::_tracefirst($text),
9962             q{space},
9963             $tracelevel)
9964             if defined $::RD_TRACE;
9965              
9966              
9967              
9968 78         130 $_matched = 1;
9969 78         181 last;
9970             }
9971              
9972              
9973 78 50 33     338 unless ( $_matched || defined($score) )
9974             {
9975            
9976              
9977 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
9978 0 0       0 Parse::RecDescent::_trace(q{<>},
9979             Parse::RecDescent::_tracefirst($_[1]),
9980             q{space},
9981             $tracelevel)
9982             if defined $::RD_TRACE;
9983 0         0 return undef;
9984             }
9985 78 50 33     469 if (!defined($return) && defined($score))
9986             {
9987 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9988             q{space},
9989             $tracelevel)
9990             if defined $::RD_TRACE;
9991 0         0 $return = $score_return;
9992             }
9993 78         123 splice @{$thisparser->{errors}}, $err_at;
  78         217  
9994 78 50       267 $return = $item[$#item] unless defined $return;
9995 78 50       232 if (defined $::RD_TRACE)
9996             {
9997 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9998             $return . q{])}, "",
9999             q{space},
10000             $tracelevel);
10001 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
10002             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
10003             Parse::RecDescent::_tracefirst($text),
10004             , q{space},
10005             $tracelevel)
10006             }
10007 78         203 $_[1] = $text;
10008 78         872 return $return;
10009             }
10010              
10011             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
10012             sub Parse::RecDescent::Config::Maker::Grammar::value_path
10013             {
10014 29     29   75 my $thisparser = $_[0];
10015 9     9   81 use vars q{$tracelevel};
  9         24  
  9         4411  
10016 29   50     128 local $tracelevel = ($tracelevel||0)+1;
10017 29         64 $ERRORS = 0;
10018 29         94 my $thisrule = $thisparser->{"rules"}{"value_path"};
10019              
10020 29 50       181 Parse::RecDescent::_trace(q{Trying rule: [value_path]},
10021             Parse::RecDescent::_tracefirst($_[1]),
10022             q{value_path},
10023             $tracelevel)
10024             if defined $::RD_TRACE;
10025              
10026            
10027 29         55 my $err_at = @{$thisparser->{errors}};
  29         79  
10028              
10029 29         55 my $score;
10030             my $score_return;
10031 0         0 my $_tok;
10032 29         53 my $return = undef;
10033 29         51 my $_matched=0;
10034 29         46 my $commit=0;
10035 29         60 my @item = ();
10036 29         66 my %item = ();
10037 29         47 my $repeating = $_[2];
10038 29         55 my $_noactions = $_[3];
10039 29 50       91 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  29         49  
  29         72  
10040 29         62 my $_itempos = $_[5];
10041 29 100       123 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
10042 29         64 my $text;
10043             my $lastsep;
10044 0         0 my $current_match;
10045 29         139 my $expectation = new Parse::RecDescent::Expectation(q{path});
10046 29         283 $expectation->at($_[1]);
10047            
10048 29         152 my $thisline;
10049 29         192 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
10050              
10051            
10052              
10053 29   33     357 while (!$_matched && !$commit)
10054             {
10055            
10056 29 50       86 Parse::RecDescent::_trace(q{Trying production: [path]},
10057             Parse::RecDescent::_tracefirst($_[1]),
10058             q{value_path},
10059             $tracelevel)
10060             if defined $::RD_TRACE;
10061 29         98 my $thisprod = $thisrule->{"prods"}[0];
10062 29         59 $text = $_[1];
10063 29         45 my $_savetext;
10064 29         77 @item = (q{value_path});
10065 29         86 %item = (__RULE__ => q{value_path});
10066 29         49 my $repcount = 0;
10067              
10068              
10069 29 50       87 Parse::RecDescent::_trace(q{Trying subrule: [path]},
10070             Parse::RecDescent::_tracefirst($text),
10071             q{value_path},
10072             $tracelevel)
10073             if defined $::RD_TRACE;
10074 9     9   203 if (1) { no strict qw{refs};
  9         21  
  9         5217  
  29         55  
10075 29         106 $expectation->is(q{})->at($text);
10076 29 50   29   649 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::path($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  29         83  
10077             {
10078            
10079 0 0       0 Parse::RecDescent::_trace(q{<>},
10080             Parse::RecDescent::_tracefirst($text),
10081             q{value_path},
10082             $tracelevel)
10083             if defined $::RD_TRACE;
10084 0         0 $expectation->failed();
10085 0         0 last;
10086             }
10087 29 50       200 Parse::RecDescent::_trace(q{>>Matched subrule: [path]<< (return value: [}
10088             . $_tok . q{]},
10089              
10090             Parse::RecDescent::_tracefirst($text),
10091             q{value_path},
10092             $tracelevel)
10093             if defined $::RD_TRACE;
10094 29         100 $item{q{path}} = $_tok;
10095 29         76 push @item, $_tok;
10096            
10097             }
10098              
10099 29 50       86 Parse::RecDescent::_trace(q{>>Matched production: [path]<<},
10100             Parse::RecDescent::_tracefirst($text),
10101             q{value_path},
10102             $tracelevel)
10103             if defined $::RD_TRACE;
10104              
10105              
10106              
10107 29         55 $_matched = 1;
10108 29         72 last;
10109             }
10110              
10111              
10112 29 50 33     241 unless ( $_matched || defined($score) )
10113             {
10114            
10115              
10116 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
10117 0 0       0 Parse::RecDescent::_trace(q{<>},
10118             Parse::RecDescent::_tracefirst($_[1]),
10119             q{value_path},
10120             $tracelevel)
10121             if defined $::RD_TRACE;
10122 0         0 return undef;
10123             }
10124 29 50 33     198 if (!defined($return) && defined($score))
10125             {
10126 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
10127             q{value_path},
10128             $tracelevel)
10129             if defined $::RD_TRACE;
10130 0         0 $return = $score_return;
10131             }
10132 29         46 splice @{$thisparser->{errors}}, $err_at;
  29         93  
10133 29 50       110 $return = $item[$#item] unless defined $return;
10134 29 50       109 if (defined $::RD_TRACE)
10135             {
10136 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
10137             $return . q{])}, "",
10138             q{value_path},
10139             $tracelevel);
10140 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
10141             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
10142             Parse::RecDescent::_tracefirst($text),
10143             , q{value_path},
10144             $tracelevel)
10145             }
10146 29         79 $_[1] = $text;
10147 29         338 return $return;
10148             }
10149              
10150             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
10151             sub Parse::RecDescent::Config::Maker::Grammar::value_mac
10152             {
10153 0     0   0 my $thisparser = $_[0];
10154 9     9   56 use vars q{$tracelevel};
  9         19  
  9         27771  
10155 0   0     0 local $tracelevel = ($tracelevel||0)+1;
10156 0         0 $ERRORS = 0;
10157 0         0 my $thisrule = $thisparser->{"rules"}{"value_mac"};
10158              
10159 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [value_mac]},
10160             Parse::RecDescent::_tracefirst($_[1]),
10161             q{value_mac},
10162             $tracelevel)
10163             if defined $::RD_TRACE;
10164              
10165            
10166 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
10167              
10168 0         0 my $score;
10169             my $score_return;
10170 0         0 my $_tok;
10171 0         0 my $return = undef;
10172 0         0 my $_matched=0;
10173 0         0 my $commit=0;
10174 0         0 my @item = ();
10175 0         0 my %item = ();
10176 0         0 my $repeating = $_[2];
10177 0         0 my $_noactions = $_[3];
10178 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
10179 0         0 my $_itempos = $_[5];
10180 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
10181 0         0 my $text;
10182             my $lastsep;
10183 0         0 my $current_match;
10184 0         0 my $expectation = new Parse::RecDescent::Expectation(q{/([[:xdigit:]]\{2\}:)\{5\}[[:xdigit:]]\{2\}/});
10185 0         0 $expectation->at($_[1]);
10186            
10187 0         0 my $thisline;
10188 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
10189              
10190            
10191              
10192 0   0     0 while (!$_matched && !$commit)
10193             {
10194            
10195 0 0       0 Parse::RecDescent::_trace(q{Trying production: [/([[:xdigit:]]\{2\}:)\{5\}[[:xdigit:]]\{2\}/]},
10196             Parse::RecDescent::_tracefirst($_[1]),
10197             q{value_mac},
10198             $tracelevel)
10199             if defined $::RD_TRACE;
10200 0         0 my $thisprod = $thisrule->{"prods"}[0];
10201 0         0 $text = $_[1];
10202 0         0 my $_savetext;
10203 0         0 @item = (q{value_mac});
10204 0         0 %item = (__RULE__ => q{value_mac});
10205 0         0 my $repcount = 0;
10206              
10207              
10208 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [/([[:xdigit:]]\{2\}:)\{5\}[[:xdigit:]]\{2\}/]}, Parse::RecDescent::_tracefirst($text),
10209             q{value_mac},
10210             $tracelevel)
10211             if defined $::RD_TRACE;
10212 0         0 undef $lastsep;
10213 0         0 $expectation->is(q{})->at($text);
10214            
10215              
10216 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:([[:xdigit:]]{2}:){5}[[:xdigit:]]{2})/)
  0 0       0  
10217             {
10218 0 0       0 $text = $lastsep . $text if defined $lastsep;
10219 0         0 $expectation->failed();
10220 0 0       0 Parse::RecDescent::_trace(q{<>},
10221             Parse::RecDescent::_tracefirst($text))
10222             if defined $::RD_TRACE;
10223              
10224 0         0 last;
10225             }
10226 0         0 $current_match = substr($text, $-[0], $+[0] - $-[0]);
10227 0         0 substr($text,0,length($current_match),q{});
10228 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10229             . $current_match . q{])},
10230             Parse::RecDescent::_tracefirst($text))
10231             if defined $::RD_TRACE;
10232 0         0 push @item, $item{__PATTERN1__}=$current_match;
10233            
10234              
10235 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [/([[:xdigit:]]\{2\}:)\{5\}[[:xdigit:]]\{2\}/]<<},
10236             Parse::RecDescent::_tracefirst($text),
10237             q{value_mac},
10238             $tracelevel)
10239             if defined $::RD_TRACE;
10240              
10241              
10242              
10243 0         0 $_matched = 1;
10244 0         0 last;
10245             }
10246              
10247              
10248 0         0 while (!$_matched)
10249             {
10250            
10251 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
10252             Parse::RecDescent::_tracefirst($_[1]),
10253             q{value_mac},
10254             $tracelevel)
10255             if defined $::RD_TRACE;
10256 0         0 my $thisprod = $thisrule->{"prods"}[1];
10257            
10258 0         0 my $_savetext;
10259 0         0 @item = (q{value_mac});
10260 0         0 %item = (__RULE__ => q{value_mac});
10261 0         0 my $repcount = 0;
10262              
10263              
10264            
10265              
10266 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
10267             Parse::RecDescent::_tracefirst($text),
10268             q{value_mac},
10269             $tracelevel)
10270             if defined $::RD_TRACE;
10271 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
10272 0         0 my $rule = $item[0];
10273 0         0 $rule =~ s/_/ /g;
10274             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
10275 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
10276 0         0 } unless $_noactions; undef } else {0} };
10277 0 0       0 if (defined($_tok))
10278             {
10279 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
10280             . $_tok . q{])},
10281             Parse::RecDescent::_tracefirst($text))
10282             if defined $::RD_TRACE;
10283             }
10284             else
10285             {
10286 0 0       0 Parse::RecDescent::_trace(q{<>},
10287             Parse::RecDescent::_tracefirst($text))
10288             if defined $::RD_TRACE;
10289             }
10290            
10291 0 0       0 last unless defined $_tok;
10292 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
10293            
10294              
10295 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
10296             Parse::RecDescent::_tracefirst($text),
10297             q{value_mac},
10298             $tracelevel)
10299             if defined $::RD_TRACE;
10300              
10301              
10302              
10303 0         0 $_matched = 1;
10304 0         0 last;
10305             }
10306              
10307              
10308 0 0 0     0 unless ( $_matched || defined($score) )
10309             {
10310            
10311              
10312 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
10313 0 0       0 Parse::RecDescent::_trace(q{<>},
10314             Parse::RecDescent::_tracefirst($_[1]),
10315             q{value_mac},
10316             $tracelevel)
10317             if defined $::RD_TRACE;
10318 0         0 return undef;
10319             }
10320 0 0 0     0 if (!defined($return) && defined($score))
10321             {
10322 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
10323             q{value_mac},
10324             $tracelevel)
10325             if defined $::RD_TRACE;
10326 0         0 $return = $score_return;
10327             }
10328 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
10329 0 0       0 $return = $item[$#item] unless defined $return;
10330 0 0       0 if (defined $::RD_TRACE)
10331             {
10332 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
10333             $return . q{])}, "",
10334             q{value_mac},
10335             $tracelevel);
10336 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
10337             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
10338             Parse::RecDescent::_tracefirst($text),
10339             , q{value_mac},
10340             $tracelevel)
10341             }
10342 0         0 $_[1] = $text;
10343 0         0 return $return;
10344             }
10345              
10346             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
10347             sub Parse::RecDescent::Config::Maker::Grammar::closer
10348             {
10349 37     37   98 my $thisparser = $_[0];
10350 9     9   143 use vars q{$tracelevel};
  9         76  
  9         20933  
10351 37   50     151 local $tracelevel = ($tracelevel||0)+1;
10352 37         62 $ERRORS = 0;
10353 37         133 my $thisrule = $thisparser->{"rules"}{"closer"};
10354              
10355 37 50       157 Parse::RecDescent::_trace(q{Trying rule: [closer]},
10356             Parse::RecDescent::_tracefirst($_[1]),
10357             q{closer},
10358             $tracelevel)
10359             if defined $::RD_TRACE;
10360              
10361            
10362 37         57 my $err_at = @{$thisparser->{errors}};
  37         124  
10363              
10364 37         65 my $score;
10365             my $score_return;
10366 0         0 my $_tok;
10367 37         55 my $return = undef;
10368 37         72 my $_matched=0;
10369 37         79 my $commit=0;
10370 37         78 my @item = ();
10371 37         102 my %item = ();
10372 37         74 my $repeating = $_[2];
10373 37         102 my $_noactions = $_[3];
10374 37 50       100 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  37         53  
  37         89  
10375 37         113 my $_itempos = $_[5];
10376 37 50       190 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
10377 37         78 my $text;
10378             my $lastsep;
10379 0         0 my $current_match;
10380 37         176 my $expectation = new Parse::RecDescent::Expectation(q{'[$', or '[/]'});
10381 37         459 $expectation->at($_[1]);
10382            
10383 37         185 my $thisline;
10384 37         206 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
10385              
10386            
10387              
10388 37   33     553 while (!$_matched && !$commit)
10389             {
10390 37 50       119 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
10391 37 50       119 Parse::RecDescent::_trace(q{Trying production: ['[$' 'end$arg[0]' /(\\s[^\\$\\[\\]]*)?/ '$]' space]},
10392             Parse::RecDescent::_tracefirst($_[1]),
10393             q{closer},
10394             $tracelevel)
10395             if defined $::RD_TRACE;
10396 37         133 my $thisprod = $thisrule->{"prods"}[0];
10397 37         80 $text = $_[1];
10398 37         60 my $_savetext;
10399 37         93 @item = (q{closer});
10400 37         113 %item = (__RULE__ => q{closer});
10401 37         134 my $repcount = 0;
10402              
10403              
10404 37 50       114 Parse::RecDescent::_trace(q{Trying terminal: ['[$']},
10405             Parse::RecDescent::_tracefirst($text),
10406             q{closer},
10407             $tracelevel)
10408             if defined $::RD_TRACE;
10409 37         67 undef $lastsep;
10410 37         141 $expectation->is(q{})->at($text);
10411            
10412              
10413 37 50 66     536 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\[\$/)
  37 100       640  
10414             {
10415 26 50       108 $text = $lastsep . $text if defined $lastsep;
10416            
10417 26         129 $expectation->failed();
10418 26 50       188 Parse::RecDescent::_trace(qq{<>},
10419             Parse::RecDescent::_tracefirst($text))
10420             if defined $::RD_TRACE;
10421 26         76 last;
10422             }
10423 11         91 $current_match = substr($text, $-[0], $+[0] - $-[0]);
10424 11         74 substr($text,0,length($current_match),q{});
10425 11 50       36 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10426             . $current_match . q{])},
10427             Parse::RecDescent::_tracefirst($text))
10428             if defined $::RD_TRACE;
10429 11         35 push @item, $item{__STRING1__}=$current_match;
10430            
10431              
10432            
10433              
10434 11 50       34 Parse::RecDescent::_trace(q{Trying directive: []},
10435             Parse::RecDescent::_tracefirst($text),
10436             q{closer},
10437             $tracelevel)
10438             if defined $::RD_TRACE;
10439 11         16 $_tok = do { my $oldskip = $skip; $skip= qr/\s*/; $oldskip };
  11         48  
  11         90  
  11         31  
10440 11 50       35 if (defined($_tok))
10441             {
10442 11 50       90 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
10443             . $_tok . q{])},
10444             Parse::RecDescent::_tracefirst($text))
10445             if defined $::RD_TRACE;
10446             }
10447             else
10448             {
10449 0 0       0 Parse::RecDescent::_trace(q{<>},
10450             Parse::RecDescent::_tracefirst($text))
10451             if defined $::RD_TRACE;
10452             }
10453            
10454 11 50       72 last unless defined $_tok;
10455 11         34 push @item, $item{__DIRECTIVE1__}=$_tok;
10456            
10457              
10458 11 50       46 Parse::RecDescent::_trace(q{Trying terminal: ['end$arg[0]']},
10459             Parse::RecDescent::_tracefirst($text),
10460             q{closer},
10461             $tracelevel)
10462             if defined $::RD_TRACE;
10463 11         22 undef $lastsep;
10464 11         47 $expectation->is(q{'end$arg[0]'})->at($text);
10465            
10466              
10467 11 100 33     222 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "end$arg[0]"; 1 } and
  11 50 33     106  
  11   33     25  
  11         272  
10468             substr($text,0,length($_tok)) eq $_tok and
10469 11         41 do { substr($text,0,length($_tok)) = ""; 1; }
  11         48  
10470             )
10471             {
10472 0 0       0 $text = $lastsep . $text if defined $lastsep;
10473            
10474 0         0 $expectation->failed();
10475 0 0       0 Parse::RecDescent::_trace(q{<>},
10476             Parse::RecDescent::_tracefirst($text))
10477             if defined $::RD_TRACE;
10478 0         0 last;
10479             }
10480 11 50       40 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10481             . $_tok . q{])},
10482             Parse::RecDescent::_tracefirst($text))
10483             if defined $::RD_TRACE;
10484 11         37 push @item, $item{__STRING2__}=$_tok;
10485            
10486              
10487            
10488              
10489 11 50       45 Parse::RecDescent::_trace(q{Trying directive: []},
10490             Parse::RecDescent::_tracefirst($text),
10491             q{closer},
10492             $tracelevel)
10493             if defined $::RD_TRACE;
10494 11         16 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  11         20  
  11         22  
  11         23  
10495 11 50       34 if (defined($_tok))
10496             {
10497 11 50       132 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
10498             . $_tok . q{])},
10499             Parse::RecDescent::_tracefirst($text))
10500             if defined $::RD_TRACE;
10501             }
10502             else
10503             {
10504 0 0       0 Parse::RecDescent::_trace(q{<>},
10505             Parse::RecDescent::_tracefirst($text))
10506             if defined $::RD_TRACE;
10507             }
10508            
10509 11 50       38 last unless defined $_tok;
10510 11         37 push @item, $item{__DIRECTIVE2__}=$_tok;
10511            
10512              
10513 11 50       32 Parse::RecDescent::_trace(q{Trying terminal: [/(\\s[^\\$\\[\\]]*)?/]}, Parse::RecDescent::_tracefirst($text),
10514             q{closer},
10515             $tracelevel)
10516             if defined $::RD_TRACE;
10517 11         20 undef $lastsep;
10518 11         41 $expectation->is(q{/(\\s[^\\$\\[\\]]*)?/})->at($text);
10519            
10520              
10521 11 50 33     326 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:(\s[^\$\[\]]*)?)/)
  11 50       166  
10522             {
10523 0 0       0 $text = $lastsep . $text if defined $lastsep;
10524 0         0 $expectation->failed();
10525 0 0       0 Parse::RecDescent::_trace(q{<>},
10526             Parse::RecDescent::_tracefirst($text))
10527             if defined $::RD_TRACE;
10528              
10529 0         0 last;
10530             }
10531 11         67 $current_match = substr($text, $-[0], $+[0] - $-[0]);
10532 11         47 substr($text,0,length($current_match),q{});
10533 11 50       38 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10534             . $current_match . q{])},
10535             Parse::RecDescent::_tracefirst($text))
10536             if defined $::RD_TRACE;
10537 11         36 push @item, $item{__PATTERN1__}=$current_match;
10538            
10539              
10540 11 50       41 Parse::RecDescent::_trace(q{Trying terminal: ['$]']},
10541             Parse::RecDescent::_tracefirst($text),
10542             q{closer},
10543             $tracelevel)
10544             if defined $::RD_TRACE;
10545 11         20 undef $lastsep;
10546 11         54 $expectation->is(q{'$]'})->at($text);
10547            
10548              
10549 11 50 33     137 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\$\]/)
  11 50       599  
10550             {
10551 0 0       0 $text = $lastsep . $text if defined $lastsep;
10552            
10553 0         0 $expectation->failed();
10554 0 0       0 Parse::RecDescent::_trace(qq{<>},
10555             Parse::RecDescent::_tracefirst($text))
10556             if defined $::RD_TRACE;
10557 0         0 last;
10558             }
10559 11         61 $current_match = substr($text, $-[0], $+[0] - $-[0]);
10560 11         50 substr($text,0,length($current_match),q{});
10561 11 50       122 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10562             . $current_match . q{])},
10563             Parse::RecDescent::_tracefirst($text))
10564             if defined $::RD_TRACE;
10565 11         49 push @item, $item{__STRING3__}=$current_match;
10566            
10567              
10568 11 50       33 Parse::RecDescent::_trace(q{Trying subrule: [space]},
10569             Parse::RecDescent::_tracefirst($text),
10570             q{closer},
10571             $tracelevel)
10572             if defined $::RD_TRACE;
10573 9     9   77 if (1) { no strict qw{refs};
  9         19  
  9         7057  
  11         20  
10574 11         48 $expectation->is(q{space})->at($text);
10575 11 50   11   246 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::space($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  11         41  
10576             {
10577            
10578 0 0       0 Parse::RecDescent::_trace(q{<>},
10579             Parse::RecDescent::_tracefirst($text),
10580             q{closer},
10581             $tracelevel)
10582             if defined $::RD_TRACE;
10583 0         0 $expectation->failed();
10584 0         0 last;
10585             }
10586 11 50       62 Parse::RecDescent::_trace(q{>>Matched subrule: [space]<< (return value: [}
10587             . $_tok . q{]},
10588              
10589             Parse::RecDescent::_tracefirst($text),
10590             q{closer},
10591             $tracelevel)
10592             if defined $::RD_TRACE;
10593 11         41 $item{q{space}} = $_tok;
10594 11         43 push @item, $_tok;
10595            
10596             }
10597              
10598 11 50       33 Parse::RecDescent::_trace(q{>>Matched production: ['[$' 'end$arg[0]' /(\\s[^\\$\\[\\]]*)?/ '$]' space]<<},
10599             Parse::RecDescent::_tracefirst($text),
10600             q{closer},
10601             $tracelevel)
10602             if defined $::RD_TRACE;
10603              
10604              
10605              
10606 11         25 $_matched = 1;
10607 11         35 last;
10608             }
10609              
10610              
10611 37   66     189 while (!$_matched && !$commit)
10612             {
10613            
10614 26 50       85 Parse::RecDescent::_trace(q{Trying production: ['[/]' space]},
10615             Parse::RecDescent::_tracefirst($_[1]),
10616             q{closer},
10617             $tracelevel)
10618             if defined $::RD_TRACE;
10619 26         71 my $thisprod = $thisrule->{"prods"}[1];
10620 26         51 $text = $_[1];
10621 26         45 my $_savetext;
10622 26         67 @item = (q{closer});
10623 26         74 %item = (__RULE__ => q{closer});
10624 26         57 my $repcount = 0;
10625              
10626              
10627 26 50       83 Parse::RecDescent::_trace(q{Trying terminal: ['[/]']},
10628             Parse::RecDescent::_tracefirst($text),
10629             q{closer},
10630             $tracelevel)
10631             if defined $::RD_TRACE;
10632 26         51 undef $lastsep;
10633 26         98 $expectation->is(q{})->at($text);
10634            
10635              
10636 26 50 33     325 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\[\/\]/)
  26 50       397  
10637             {
10638 0 0       0 $text = $lastsep . $text if defined $lastsep;
10639            
10640 0         0 $expectation->failed();
10641 0 0       0 Parse::RecDescent::_trace(qq{<>},
10642             Parse::RecDescent::_tracefirst($text))
10643             if defined $::RD_TRACE;
10644 0         0 last;
10645             }
10646 26         229 $current_match = substr($text, $-[0], $+[0] - $-[0]);
10647 26         133 substr($text,0,length($current_match),q{});
10648 26 50       75 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10649             . $current_match . q{])},
10650             Parse::RecDescent::_tracefirst($text))
10651             if defined $::RD_TRACE;
10652 26         78 push @item, $item{__STRING1__}=$current_match;
10653            
10654              
10655 26 50       80 Parse::RecDescent::_trace(q{Trying subrule: [space]},
10656             Parse::RecDescent::_tracefirst($text),
10657             q{closer},
10658             $tracelevel)
10659             if defined $::RD_TRACE;
10660 9     9   52 if (1) { no strict qw{refs};
  9         24  
  9         11837  
  26         48  
10661 26         112 $expectation->is(q{space})->at($text);
10662 26 50   26   340 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::space($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  26         79  
10663             {
10664            
10665 0 0       0 Parse::RecDescent::_trace(q{<>},
10666             Parse::RecDescent::_tracefirst($text),
10667             q{closer},
10668             $tracelevel)
10669             if defined $::RD_TRACE;
10670 0         0 $expectation->failed();
10671 0         0 last;
10672             }
10673 26 50       138 Parse::RecDescent::_trace(q{>>Matched subrule: [space]<< (return value: [}
10674             . $_tok . q{]},
10675              
10676             Parse::RecDescent::_tracefirst($text),
10677             q{closer},
10678             $tracelevel)
10679             if defined $::RD_TRACE;
10680 26         79 $item{q{space}} = $_tok;
10681 26         58 push @item, $_tok;
10682            
10683             }
10684              
10685 26 50       71 Parse::RecDescent::_trace(q{>>Matched production: ['[/]' space]<<},
10686             Parse::RecDescent::_tracefirst($text),
10687             q{closer},
10688             $tracelevel)
10689             if defined $::RD_TRACE;
10690              
10691              
10692              
10693 26         55 $_matched = 1;
10694 26         61 last;
10695             }
10696              
10697              
10698 37         135 while (!$_matched)
10699             {
10700            
10701 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
10702             Parse::RecDescent::_tracefirst($_[1]),
10703             q{closer},
10704             $tracelevel)
10705             if defined $::RD_TRACE;
10706 0         0 my $thisprod = $thisrule->{"prods"}[2];
10707            
10708 0         0 my $_savetext;
10709 0         0 @item = (q{closer});
10710 0         0 %item = (__RULE__ => q{closer});
10711 0         0 my $repcount = 0;
10712              
10713              
10714            
10715              
10716 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
10717             Parse::RecDescent::_tracefirst($text),
10718             q{closer},
10719             $tracelevel)
10720             if defined $::RD_TRACE;
10721 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
10722 0         0 my $rule = $item[0];
10723 0         0 $rule =~ s/_/ /g;
10724             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
10725 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
10726 0         0 } unless $_noactions; undef } else {0} };
10727 0 0       0 if (defined($_tok))
10728             {
10729 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
10730             . $_tok . q{])},
10731             Parse::RecDescent::_tracefirst($text))
10732             if defined $::RD_TRACE;
10733             }
10734             else
10735             {
10736 0 0       0 Parse::RecDescent::_trace(q{<>},
10737             Parse::RecDescent::_tracefirst($text))
10738             if defined $::RD_TRACE;
10739             }
10740            
10741 0 0       0 last unless defined $_tok;
10742 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
10743            
10744              
10745 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
10746             Parse::RecDescent::_tracefirst($text),
10747             q{closer},
10748             $tracelevel)
10749             if defined $::RD_TRACE;
10750              
10751              
10752              
10753 0         0 $_matched = 1;
10754 0         0 last;
10755             }
10756              
10757              
10758 37 50 33     132 unless ( $_matched || defined($score) )
10759             {
10760            
10761              
10762 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
10763 0 0       0 Parse::RecDescent::_trace(q{<>},
10764             Parse::RecDescent::_tracefirst($_[1]),
10765             q{closer},
10766             $tracelevel)
10767             if defined $::RD_TRACE;
10768 0         0 return undef;
10769             }
10770 37 50 33     231 if (!defined($return) && defined($score))
10771             {
10772 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
10773             q{closer},
10774             $tracelevel)
10775             if defined $::RD_TRACE;
10776 0         0 $return = $score_return;
10777             }
10778 37         73 splice @{$thisparser->{errors}}, $err_at;
  37         102  
10779 37 50       132 $return = $item[$#item] unless defined $return;
10780 37 50       432 if (defined $::RD_TRACE)
10781             {
10782 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
10783             $return . q{])}, "",
10784             q{closer},
10785             $tracelevel);
10786 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
10787             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
10788             Parse::RecDescent::_tracefirst($text),
10789             , q{closer},
10790             $tracelevel)
10791             }
10792 37         117 $_[1] = $text;
10793 37         430 return $return;
10794             }
10795              
10796             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
10797             sub Parse::RecDescent::Config::Maker::Grammar::opener
10798             {
10799 502     502   800 my $thisparser = $_[0];
10800 9     9   64 use vars q{$tracelevel};
  9         22  
  9         12797  
10801 502   50     1422 local $tracelevel = ($tracelevel||0)+1;
10802 502         689 $ERRORS = 0;
10803 502         1419 my $thisrule = $thisparser->{"rules"}{"opener"};
10804              
10805 502 50       1241 Parse::RecDescent::_trace(q{Trying rule: [opener]},
10806             Parse::RecDescent::_tracefirst($_[1]),
10807             q{opener},
10808             $tracelevel)
10809             if defined $::RD_TRACE;
10810              
10811            
10812 502         559 my $err_at = @{$thisparser->{errors}};
  502         1205  
10813              
10814 502         696 my $score;
10815             my $score_return;
10816 0         0 my $_tok;
10817 502         571 my $return = undef;
10818 502         597 my $_matched=0;
10819 502         524 my $commit=0;
10820 502         8233 my @item = ();
10821 502         872 my %item = ();
10822 502         606 my $repeating = $_[2];
10823 502         596 my $_noactions = $_[3];
10824 502 50       1075 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  502         584  
  502         1001  
10825 502         1486 my $_itempos = $_[5];
10826 502 100       2359 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
10827 502         751 my $text;
10828             my $lastsep;
10829 0         0 my $current_match;
10830 502         2418 my $expectation = new Parse::RecDescent::Expectation(q{'[$'});
10831 502         4942 $expectation->at($_[1]);
10832            
10833 502         2620 my $thisline;
10834 502         3254 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
10835              
10836            
10837              
10838 502   33     7225 while (!$_matched && !$commit)
10839             {
10840 502 50       1201 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
10841 502 50       37440 Parse::RecDescent::_trace(q{Trying production: ['[$' '$arg[0]' value '$]' space]},
10842             Parse::RecDescent::_tracefirst($_[1]),
10843             q{opener},
10844             $tracelevel)
10845             if defined $::RD_TRACE;
10846 502         1182 my $thisprod = $thisrule->{"prods"}[0];
10847 502         1433 $text = $_[1];
10848 502         544 my $_savetext;
10849 502         977 @item = (q{opener});
10850 502         1218 %item = (__RULE__ => q{opener});
10851 502         594 my $repcount = 0;
10852              
10853              
10854 502 50       1779 Parse::RecDescent::_trace(q{Trying terminal: ['[$']},
10855             Parse::RecDescent::_tracefirst($text),
10856             q{opener},
10857             $tracelevel)
10858             if defined $::RD_TRACE;
10859 502         724 undef $lastsep;
10860 502         1689 $expectation->is(q{})->at($text);
10861            
10862              
10863 502 50 66     6953 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\[\$/)
  502 100       5408  
10864             {
10865 327 50       1950 $text = $lastsep . $text if defined $lastsep;
10866            
10867 327         1169 $expectation->failed();
10868 327 50       15854 Parse::RecDescent::_trace(qq{<>},
10869             Parse::RecDescent::_tracefirst($text))
10870             if defined $::RD_TRACE;
10871 327         724 last;
10872             }
10873 175         1416 $current_match = substr($text, $-[0], $+[0] - $-[0]);
10874 175         736 substr($text,0,length($current_match),q{});
10875 175 50       402 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10876             . $current_match . q{])},
10877             Parse::RecDescent::_tracefirst($text))
10878             if defined $::RD_TRACE;
10879 175         443 push @item, $item{__STRING1__}=$current_match;
10880            
10881              
10882            
10883              
10884 175 50       384 Parse::RecDescent::_trace(q{Trying directive: []},
10885             Parse::RecDescent::_tracefirst($text),
10886             q{opener},
10887             $tracelevel)
10888             if defined $::RD_TRACE;
10889 175         454 $_tok = do { my $oldskip = $skip; $skip= qr/\s*/; $oldskip };
  175         241  
  175         846  
  175         368  
10890 175 50       1023 if (defined($_tok))
10891             {
10892 175 50       735 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
10893             . $_tok . q{])},
10894             Parse::RecDescent::_tracefirst($text))
10895             if defined $::RD_TRACE;
10896             }
10897             else
10898             {
10899 0 0       0 Parse::RecDescent::_trace(q{<>},
10900             Parse::RecDescent::_tracefirst($text))
10901             if defined $::RD_TRACE;
10902             }
10903            
10904 175 50       559 last unless defined $_tok;
10905 175         532 push @item, $item{__DIRECTIVE1__}=$_tok;
10906            
10907              
10908 175 50       372 Parse::RecDescent::_trace(q{Trying terminal: ['$arg[0]']},
10909             Parse::RecDescent::_tracefirst($text),
10910             q{opener},
10911             $tracelevel)
10912             if defined $::RD_TRACE;
10913 175         215 undef $lastsep;
10914 175         611 $expectation->is(q{'$arg[0]'})->at($text);
10915            
10916              
10917 175 100 33     2421 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and do { $_tok = "$arg[0]"; 1 } and
  175 100 66     2472  
  175   66     255  
  175         1602  
10918             substr($text,0,length($_tok)) eq $_tok and
10919 69         199 do { substr($text,0,length($_tok)) = ""; 1; }
  69         259  
10920             )
10921             {
10922 106 50       321 $text = $lastsep . $text if defined $lastsep;
10923            
10924 106         356 $expectation->failed();
10925 106 50       1427 Parse::RecDescent::_trace(q{<>},
10926             Parse::RecDescent::_tracefirst($text))
10927             if defined $::RD_TRACE;
10928 106         819 last;
10929             }
10930 69 50       202 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10931             . $_tok . q{])},
10932             Parse::RecDescent::_tracefirst($text))
10933             if defined $::RD_TRACE;
10934 69         200 push @item, $item{__STRING2__}=$_tok;
10935            
10936              
10937 69 50       188 Parse::RecDescent::_trace(q{Trying subrule: [value]},
10938             Parse::RecDescent::_tracefirst($text),
10939             q{opener},
10940             $tracelevel)
10941             if defined $::RD_TRACE;
10942 9     9   70 if (1) { no strict qw{refs};
  9         19  
  9         3946  
  69         152  
10943 69         262 $expectation->is(q{value})->at($text);
10944 69 100   69   917 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::value($thisparser,$text,$repeating,$_noactions,sub { return [@arg[1..$#arg]] },undef)))
  69         348  
10945             {
10946            
10947 29 50       95 Parse::RecDescent::_trace(q{<>},
10948             Parse::RecDescent::_tracefirst($text),
10949             q{opener},
10950             $tracelevel)
10951             if defined $::RD_TRACE;
10952 29         103 $expectation->failed();
10953 29         1255 last;
10954             }
10955 40 50       262 Parse::RecDescent::_trace(q{>>Matched subrule: [value]<< (return value: [}
10956             . $_tok . q{]},
10957              
10958             Parse::RecDescent::_tracefirst($text),
10959             q{opener},
10960             $tracelevel)
10961             if defined $::RD_TRACE;
10962 40         130 $item{q{value}} = $_tok;
10963 40         101 push @item, $_tok;
10964            
10965             }
10966              
10967 40 50       107 Parse::RecDescent::_trace(q{Trying terminal: ['$]']},
10968             Parse::RecDescent::_tracefirst($text),
10969             q{opener},
10970             $tracelevel)
10971             if defined $::RD_TRACE;
10972 40         89 undef $lastsep;
10973 40         183 $expectation->is(q{'$]'})->at($text);
10974            
10975              
10976 40 100 33     1448 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\$\]/)
  40 50       623  
10977             {
10978 0 0       0 $text = $lastsep . $text if defined $lastsep;
10979            
10980 0         0 $expectation->failed();
10981 0 0       0 Parse::RecDescent::_trace(qq{<>},
10982             Parse::RecDescent::_tracefirst($text))
10983             if defined $::RD_TRACE;
10984 0         0 last;
10985             }
10986 40         306 $current_match = substr($text, $-[0], $+[0] - $-[0]);
10987 40         590 substr($text,0,length($current_match),q{});
10988 40 50       221 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10989             . $current_match . q{])},
10990             Parse::RecDescent::_tracefirst($text))
10991             if defined $::RD_TRACE;
10992 40         162 push @item, $item{__STRING3__}=$current_match;
10993            
10994              
10995 40 50       123 Parse::RecDescent::_trace(q{Trying subrule: [space]},
10996             Parse::RecDescent::_tracefirst($text),
10997             q{opener},
10998             $tracelevel)
10999             if defined $::RD_TRACE;
11000 9     9   50 if (1) { no strict qw{refs};
  9         21  
  9         6481  
  40         57  
11001 40         151 $expectation->is(q{space})->at($text);
11002 40 50   40   594 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::space($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  40         162  
11003             {
11004            
11005 0 0       0 Parse::RecDescent::_trace(q{<>},
11006             Parse::RecDescent::_tracefirst($text),
11007             q{opener},
11008             $tracelevel)
11009             if defined $::RD_TRACE;
11010 0         0 $expectation->failed();
11011 0         0 last;
11012             }
11013 40 50       225 Parse::RecDescent::_trace(q{>>Matched subrule: [space]<< (return value: [}
11014             . $_tok . q{]},
11015              
11016             Parse::RecDescent::_tracefirst($text),
11017             q{opener},
11018             $tracelevel)
11019             if defined $::RD_TRACE;
11020 40         186 $item{q{space}} = $_tok;
11021 40         104 push @item, $_tok;
11022            
11023             }
11024              
11025 40 50       1372 Parse::RecDescent::_trace(q{Trying action},
11026             Parse::RecDescent::_tracefirst($text),
11027             q{opener},
11028             $tracelevel)
11029             if defined $::RD_TRACE;
11030            
11031              
11032 40 50       137 $_tok = ($_noactions) ? 0 : do { $item[-3]; };
  40         91  
11033 40 50       124 unless (defined $_tok)
11034             {
11035 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
11036             if defined $::RD_TRACE;
11037 0         0 last;
11038             }
11039 40 50       133 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
11040             . $_tok . q{])},
11041             Parse::RecDescent::_tracefirst($text))
11042             if defined $::RD_TRACE;
11043 40         83 push @item, $_tok;
11044 40         116 $item{__ACTION1__}=$_tok;
11045            
11046              
11047 40 50       115 Parse::RecDescent::_trace(q{>>Matched production: ['[$' '$arg[0]' value '$]' space]<<},
11048             Parse::RecDescent::_tracefirst($text),
11049             q{opener},
11050             $tracelevel)
11051             if defined $::RD_TRACE;
11052              
11053              
11054              
11055 40         63 $_matched = 1;
11056 40         191 last;
11057             }
11058              
11059              
11060 502 100 66     3666 unless ( $_matched || defined($score) )
11061             {
11062            
11063              
11064 462         798 $_[1] = $text; # NOT SURE THIS IS NEEDED
11065 462 50       1019 Parse::RecDescent::_trace(q{<>},
11066             Parse::RecDescent::_tracefirst($_[1]),
11067             q{opener},
11068             $tracelevel)
11069             if defined $::RD_TRACE;
11070 462         5514 return undef;
11071             }
11072 40 50 33     257 if (!defined($return) && defined($score))
11073             {
11074 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
11075             q{opener},
11076             $tracelevel)
11077             if defined $::RD_TRACE;
11078 0         0 $return = $score_return;
11079             }
11080 40         71 splice @{$thisparser->{errors}}, $err_at;
  40         100  
11081 40 50       147 $return = $item[$#item] unless defined $return;
11082 40 50       248 if (defined $::RD_TRACE)
11083             {
11084 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
11085             $return . q{])}, "",
11086             q{opener},
11087             $tracelevel);
11088 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
11089             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
11090             Parse::RecDescent::_tracefirst($text),
11091             , q{opener},
11092             $tracelevel)
11093             }
11094 40         132 $_[1] = $text;
11095 40         688 return $return;
11096             }
11097              
11098             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
11099             sub Parse::RecDescent::Config::Maker::Grammar::hexint
11100             {
11101 0     0   0 my $thisparser = $_[0];
11102 9     9   51 use vars q{$tracelevel};
  9         21  
  9         20116  
11103 0   0     0 local $tracelevel = ($tracelevel||0)+1;
11104 0         0 $ERRORS = 0;
11105 0         0 my $thisrule = $thisparser->{"rules"}{"hexint"};
11106              
11107 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [hexint]},
11108             Parse::RecDescent::_tracefirst($_[1]),
11109             q{hexint},
11110             $tracelevel)
11111             if defined $::RD_TRACE;
11112              
11113            
11114 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
11115              
11116 0         0 my $score;
11117             my $score_return;
11118 0         0 my $_tok;
11119 0         0 my $return = undef;
11120 0         0 my $_matched=0;
11121 0         0 my $commit=0;
11122 0         0 my @item = ();
11123 0         0 my %item = ();
11124 0         0 my $repeating = $_[2];
11125 0         0 my $_noactions = $_[3];
11126 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
11127 0         0 my $_itempos = $_[5];
11128 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
11129 0         0 my $text;
11130             my $lastsep;
11131 0         0 my $current_match;
11132 0         0 my $expectation = new Parse::RecDescent::Expectation(q{/0x[[:xdigit:]]+/});
11133 0         0 $expectation->at($_[1]);
11134            
11135 0         0 my $thisline;
11136 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
11137              
11138            
11139              
11140 0   0     0 while (!$_matched && !$commit)
11141             {
11142            
11143 0 0       0 Parse::RecDescent::_trace(q{Trying production: [/0x[[:xdigit:]]+/ ]},
11144             Parse::RecDescent::_tracefirst($_[1]),
11145             q{hexint},
11146             $tracelevel)
11147             if defined $::RD_TRACE;
11148 0         0 my $thisprod = $thisrule->{"prods"}[0];
11149 0         0 $text = $_[1];
11150 0         0 my $_savetext;
11151 0         0 @item = (q{hexint});
11152 0         0 %item = (__RULE__ => q{hexint});
11153 0         0 my $repcount = 0;
11154              
11155              
11156 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [/0x[[:xdigit:]]+/]}, Parse::RecDescent::_tracefirst($text),
11157             q{hexint},
11158             $tracelevel)
11159             if defined $::RD_TRACE;
11160 0         0 undef $lastsep;
11161 0         0 $expectation->is(q{})->at($text);
11162            
11163              
11164 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:0x[[:xdigit:]]+)/)
  0 0       0  
11165             {
11166 0 0       0 $text = $lastsep . $text if defined $lastsep;
11167 0         0 $expectation->failed();
11168 0 0       0 Parse::RecDescent::_trace(q{<>},
11169             Parse::RecDescent::_tracefirst($text))
11170             if defined $::RD_TRACE;
11171              
11172 0         0 last;
11173             }
11174 0         0 $current_match = substr($text, $-[0], $+[0] - $-[0]);
11175 0         0 substr($text,0,length($current_match),q{});
11176 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
11177             . $current_match . q{])},
11178             Parse::RecDescent::_tracefirst($text))
11179             if defined $::RD_TRACE;
11180 0         0 push @item, $item{__PATTERN1__}=$current_match;
11181            
11182              
11183            
11184              
11185 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
11186             Parse::RecDescent::_tracefirst($text),
11187             q{hexint},
11188             $tracelevel)
11189             if defined $::RD_TRACE;
11190 0         0 $_tok = do { $commit = 1 };
  0         0  
11191 0 0       0 if (defined($_tok))
11192             {
11193 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
11194             . $_tok . q{])},
11195             Parse::RecDescent::_tracefirst($text))
11196             if defined $::RD_TRACE;
11197             }
11198             else
11199             {
11200 0 0       0 Parse::RecDescent::_trace(q{<>},
11201             Parse::RecDescent::_tracefirst($text))
11202             if defined $::RD_TRACE;
11203             }
11204            
11205 0 0       0 last unless defined $_tok;
11206 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
11207            
11208              
11209 0 0       0 Parse::RecDescent::_trace(q{Trying action},
11210             Parse::RecDescent::_tracefirst($text),
11211             q{hexint},
11212             $tracelevel)
11213             if defined $::RD_TRACE;
11214            
11215              
11216 0 0       0 $_tok = ($_noactions) ? 0 : do { Config::Maker::limit(hex($item[1]), @arg); };
  0         0  
11217 0 0       0 unless (defined $_tok)
11218             {
11219 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
11220             if defined $::RD_TRACE;
11221 0         0 last;
11222             }
11223 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
11224             . $_tok . q{])},
11225             Parse::RecDescent::_tracefirst($text))
11226             if defined $::RD_TRACE;
11227 0         0 push @item, $_tok;
11228 0         0 $item{__ACTION1__}=$_tok;
11229            
11230              
11231 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [/0x[[:xdigit:]]+/ ]<<},
11232             Parse::RecDescent::_tracefirst($text),
11233             q{hexint},
11234             $tracelevel)
11235             if defined $::RD_TRACE;
11236              
11237              
11238              
11239 0         0 $_matched = 1;
11240 0         0 last;
11241             }
11242              
11243              
11244 0         0 while (!$_matched)
11245             {
11246            
11247 0 0       0 Parse::RecDescent::_trace(q{Trying production: [ ]},
11248             Parse::RecDescent::_tracefirst($_[1]),
11249             q{hexint},
11250             $tracelevel)
11251             if defined $::RD_TRACE;
11252 0         0 my $thisprod = $thisrule->{"prods"}[1];
11253            
11254 0         0 my $_savetext;
11255 0         0 @item = (q{hexint});
11256 0         0 %item = (__RULE__ => q{hexint});
11257 0         0 my $repcount = 0;
11258              
11259              
11260            
11261              
11262 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
11263             Parse::RecDescent::_tracefirst($text),
11264             q{hexint},
11265             $tracelevel)
11266             if defined $::RD_TRACE;
11267 0 0       0 $_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{ Number $item[1] out of range},$thisline];} unless $_noactions; undef } else {0} };
  0 0       0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
11268 0 0       0 if (defined($_tok))
11269             {
11270 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
11271             . $_tok . q{])},
11272             Parse::RecDescent::_tracefirst($text))
11273             if defined $::RD_TRACE;
11274             }
11275             else
11276             {
11277 0 0       0 Parse::RecDescent::_trace(q{<>},
11278             Parse::RecDescent::_tracefirst($text))
11279             if defined $::RD_TRACE;
11280             }
11281            
11282 0 0       0 last unless defined $_tok;
11283 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
11284            
11285              
11286 0 0       0 Parse::RecDescent::_trace(q{>>Rejecting production<< (found )},
11287             Parse::RecDescent::_tracefirst($text),
11288             q{hexint},
11289             $tracelevel)
11290             if defined $::RD_TRACE;
11291 0         0 undef $return;
11292            
11293              
11294 0         0 $_tok = undef;
11295            
11296 0 0       0 last unless defined $_tok;
11297              
11298 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
11299             Parse::RecDescent::_tracefirst($text),
11300             q{hexint},
11301             $tracelevel)
11302             if defined $::RD_TRACE;
11303              
11304              
11305              
11306 0         0 $_matched = 1;
11307 0         0 last;
11308             }
11309              
11310              
11311 0 0 0     0 unless ( $_matched || defined($score) )
11312             {
11313            
11314              
11315 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
11316 0 0       0 Parse::RecDescent::_trace(q{<>},
11317             Parse::RecDescent::_tracefirst($_[1]),
11318             q{hexint},
11319             $tracelevel)
11320             if defined $::RD_TRACE;
11321 0         0 return undef;
11322             }
11323 0 0 0     0 if (!defined($return) && defined($score))
11324             {
11325 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
11326             q{hexint},
11327             $tracelevel)
11328             if defined $::RD_TRACE;
11329 0         0 $return = $score_return;
11330             }
11331 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
11332 0 0       0 $return = $item[$#item] unless defined $return;
11333 0 0       0 if (defined $::RD_TRACE)
11334             {
11335 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
11336             $return . q{])}, "",
11337             q{hexint},
11338             $tracelevel);
11339 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
11340             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
11341             Parse::RecDescent::_tracefirst($text),
11342             , q{hexint},
11343             $tracelevel)
11344             }
11345 0         0 $_[1] = $text;
11346 0         0 return $return;
11347             }
11348              
11349             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
11350             sub Parse::RecDescent::Config::Maker::Grammar::_alternation_1_of_production_1_of_rule_value_ipv4_mask
11351             {
11352 3     3   8 my $thisparser = $_[0];
11353 9     9   74 use vars q{$tracelevel};
  9         21  
  9         4287  
11354 3   50     14 local $tracelevel = ($tracelevel||0)+1;
11355 3         7 $ERRORS = 0;
11356 3         9 my $thisrule = $thisparser->{"rules"}{"_alternation_1_of_production_1_of_rule_value_ipv4_mask"};
11357              
11358 3 50       10 Parse::RecDescent::_trace(q{Trying rule: [_alternation_1_of_production_1_of_rule_value_ipv4_mask]},
11359             Parse::RecDescent::_tracefirst($_[1]),
11360             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11361             $tracelevel)
11362             if defined $::RD_TRACE;
11363              
11364            
11365 3         5 my $err_at = @{$thisparser->{errors}};
  3         7  
11366              
11367 3         7 my $score;
11368             my $score_return;
11369 0         0 my $_tok;
11370 3         6 my $return = undef;
11371 3         6 my $_matched=0;
11372 3         6 my $commit=0;
11373 3         8 my @item = ();
11374 3         10 my %item = ();
11375 3         5 my $repeating = $_[2];
11376 3         5 my $_noactions = $_[3];
11377 3 50       150 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  3         7  
  3         8  
11378 3         7 my $_itempos = $_[5];
11379 3 50       13 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
11380 3         6 my $text;
11381             my $lastsep;
11382 0         0 my $current_match;
11383 3         16 my $expectation = new Parse::RecDescent::Expectation(q{decint, or value_ipv4});
11384 3         70 $expectation->at($_[1]);
11385            
11386 3         26 my $thisline;
11387 3         25 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
11388              
11389            
11390              
11391 3   33     38 while (!$_matched && !$commit)
11392             {
11393            
11394 3 50       10 Parse::RecDescent::_trace(q{Trying production: [decint]},
11395             Parse::RecDescent::_tracefirst($_[1]),
11396             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11397             $tracelevel)
11398             if defined $::RD_TRACE;
11399 3         10 my $thisprod = $thisrule->{"prods"}[0];
11400 3         9 $text = $_[1];
11401 3         5 my $_savetext;
11402 3         9 @item = (q{_alternation_1_of_production_1_of_rule_value_ipv4_mask});
11403 3         10 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_value_ipv4_mask});
11404 3         152 my $repcount = 0;
11405              
11406              
11407 3 50       12 Parse::RecDescent::_trace(q{Trying subrule: [decint]},
11408             Parse::RecDescent::_tracefirst($text),
11409             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11410             $tracelevel)
11411             if defined $::RD_TRACE;
11412 9     9   56 if (1) { no strict qw{refs};
  9         24  
  9         3889  
  3         6  
11413 3         17 $expectation->is(q{})->at($text);
11414 3 50   3   40 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::decint($thisparser,$text,$repeating,$_noactions,sub { return [0,32] },undef)))
  3         10  
11415             {
11416            
11417 0 0       0 Parse::RecDescent::_trace(q{<>},
11418             Parse::RecDescent::_tracefirst($text),
11419             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11420             $tracelevel)
11421             if defined $::RD_TRACE;
11422 0         0 $expectation->failed();
11423 0         0 last;
11424             }
11425 3 50       17 Parse::RecDescent::_trace(q{>>Matched subrule: [decint]<< (return value: [}
11426             . $_tok . q{]},
11427              
11428             Parse::RecDescent::_tracefirst($text),
11429             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11430             $tracelevel)
11431             if defined $::RD_TRACE;
11432 3         44 $item{q{decint}} = $_tok;
11433 3         7 push @item, $_tok;
11434            
11435             }
11436              
11437 3 50       10 Parse::RecDescent::_trace(q{>>Matched production: [decint]<<},
11438             Parse::RecDescent::_tracefirst($text),
11439             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11440             $tracelevel)
11441             if defined $::RD_TRACE;
11442              
11443              
11444              
11445 3         5 $_matched = 1;
11446 3         7 last;
11447             }
11448              
11449              
11450 3   33     12 while (!$_matched && !$commit)
11451             {
11452            
11453 0 0       0 Parse::RecDescent::_trace(q{Trying production: [value_ipv4]},
11454             Parse::RecDescent::_tracefirst($_[1]),
11455             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11456             $tracelevel)
11457             if defined $::RD_TRACE;
11458 0         0 my $thisprod = $thisrule->{"prods"}[1];
11459 0         0 $text = $_[1];
11460 0         0 my $_savetext;
11461 0         0 @item = (q{_alternation_1_of_production_1_of_rule_value_ipv4_mask});
11462 0         0 %item = (__RULE__ => q{_alternation_1_of_production_1_of_rule_value_ipv4_mask});
11463 0         0 my $repcount = 0;
11464              
11465              
11466 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [value_ipv4]},
11467             Parse::RecDescent::_tracefirst($text),
11468             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11469             $tracelevel)
11470             if defined $::RD_TRACE;
11471 9     9   54 if (1) { no strict qw{refs};
  9         19  
  9         4986  
  0         0  
11472 0         0 $expectation->is(q{})->at($text);
11473 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::value_ipv4($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  0         0  
11474             {
11475            
11476 0 0       0 Parse::RecDescent::_trace(q{<>},
11477             Parse::RecDescent::_tracefirst($text),
11478             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11479             $tracelevel)
11480             if defined $::RD_TRACE;
11481 0         0 $expectation->failed();
11482 0         0 last;
11483             }
11484 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [value_ipv4]<< (return value: [}
11485             . $_tok . q{]},
11486              
11487             Parse::RecDescent::_tracefirst($text),
11488             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11489             $tracelevel)
11490             if defined $::RD_TRACE;
11491 0         0 $item{q{value_ipv4}} = $_tok;
11492 0         0 push @item, $_tok;
11493            
11494             }
11495              
11496 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [value_ipv4]<<},
11497             Parse::RecDescent::_tracefirst($text),
11498             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11499             $tracelevel)
11500             if defined $::RD_TRACE;
11501              
11502              
11503              
11504 0         0 $_matched = 1;
11505 0         0 last;
11506             }
11507              
11508              
11509 3 50 33     13 unless ( $_matched || defined($score) )
11510             {
11511            
11512              
11513 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
11514 0 0       0 Parse::RecDescent::_trace(q{<>},
11515             Parse::RecDescent::_tracefirst($_[1]),
11516             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11517             $tracelevel)
11518             if defined $::RD_TRACE;
11519 0         0 return undef;
11520             }
11521 3 50 33     29 if (!defined($return) && defined($score))
11522             {
11523 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
11524             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11525             $tracelevel)
11526             if defined $::RD_TRACE;
11527 0         0 $return = $score_return;
11528             }
11529 3         6 splice @{$thisparser->{errors}}, $err_at;
  3         8  
11530 3 50       12 $return = $item[$#item] unless defined $return;
11531 3 50       16 if (defined $::RD_TRACE)
11532             {
11533 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
11534             $return . q{])}, "",
11535             q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11536             $tracelevel);
11537 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
11538             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
11539             Parse::RecDescent::_tracefirst($text),
11540             , q{_alternation_1_of_production_1_of_rule_value_ipv4_mask},
11541             $tracelevel)
11542             }
11543 3         9 $_[1] = $text;
11544 3         40 return $return;
11545             }
11546              
11547             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
11548             sub Parse::RecDescent::Config::Maker::Grammar::option
11549             {
11550 1034     1034   32355 my $thisparser = $_[0];
11551 9     9   112 use vars q{$tracelevel};
  9         21  
  9         3769  
11552 1034   50     3476 local $tracelevel = ($tracelevel||0)+1;
11553 1034         2035 $ERRORS = 0;
11554 1034         2661 my $thisrule = $thisparser->{"rules"}{"option"};
11555              
11556 1034 50       2847 Parse::RecDescent::_trace(q{Trying rule: [option]},
11557             Parse::RecDescent::_tracefirst($_[1]),
11558             q{option},
11559             $tracelevel)
11560             if defined $::RD_TRACE;
11561              
11562            
11563 1034         1226 my $err_at = @{$thisparser->{errors}};
  1034         2273  
11564              
11565 1034         1606 my $score;
11566             my $score_return;
11567 0         0 my $_tok;
11568 1034         1606 my $return = undef;
11569 1034         1363 my $_matched=0;
11570 1034         1427 my $commit=0;
11571 1034         1763 my @item = ();
11572 1034         2419 my %item = ();
11573 1034         2298 my $repeating = $_[2];
11574 1034         2035 my $_noactions = $_[3];
11575 1034 50       2412 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  1034         1570  
  1034         2373  
11576 1034         2288 my $_itempos = $_[5];
11577 1034 50       5711 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
11578 1034         1816 my $text;
11579             my $lastsep;
11580 0         0 my $current_match;
11581 1034         4128 my $expectation = new Parse::RecDescent::Expectation(q{block, or type});
11582 1034         11019 $expectation->at($_[1]);
11583            
11584 1034         4802 my $thisline;
11585 1034         5831 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
11586              
11587            
11588              
11589 1034   33     13290 while (!$_matched && !$commit)
11590             {
11591            
11592 1034 50       4061 Parse::RecDescent::_trace(q{Trying production: [block]},
11593             Parse::RecDescent::_tracefirst($_[1]),
11594             q{option},
11595             $tracelevel)
11596             if defined $::RD_TRACE;
11597 1034         3685 my $thisprod = $thisrule->{"prods"}[0];
11598 1034         3727 $text = $_[1];
11599 1034         1393 my $_savetext;
11600 1034         2114 @item = (q{option});
11601 1034         2793 %item = (__RULE__ => q{option});
11602 1034         1608 my $repcount = 0;
11603              
11604              
11605 1034 50       2849 Parse::RecDescent::_trace(q{Trying subrule: [block]},
11606             Parse::RecDescent::_tracefirst($text),
11607             q{option},
11608             $tracelevel)
11609             if defined $::RD_TRACE;
11610 9     9   55 if (1) { no strict qw{refs};
  9         20  
  9         3562  
  1034         1214  
11611 1034         22990 $expectation->is(q{})->at($text);
11612 1034 100   1034   14591 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::block($thisparser,$text,$repeating,$_noactions,sub { return [@arg] },undef)))
  1034         15670  
11613             {
11614            
11615 1025 50       3692 Parse::RecDescent::_trace(q{<>},
11616             Parse::RecDescent::_tracefirst($text),
11617             q{option},
11618             $tracelevel)
11619             if defined $::RD_TRACE;
11620 1025         4589 $expectation->failed();
11621 1025         5034 last;
11622             }
11623 9 50       62 Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [}
11624             . $_tok . q{]},
11625              
11626             Parse::RecDescent::_tracefirst($text),
11627             q{option},
11628             $tracelevel)
11629             if defined $::RD_TRACE;
11630 9         28 $item{q{block}} = $_tok;
11631 9         22 push @item, $_tok;
11632            
11633             }
11634              
11635 9 50       33 Parse::RecDescent::_trace(q{>>Matched production: [block]<<},
11636             Parse::RecDescent::_tracefirst($text),
11637             q{option},
11638             $tracelevel)
11639             if defined $::RD_TRACE;
11640              
11641              
11642              
11643 9         15 $_matched = 1;
11644 9         16 last;
11645             }
11646              
11647              
11648 1034   66     9646 while (!$_matched && !$commit)
11649             {
11650            
11651 1025 50       2848 Parse::RecDescent::_trace(q{Trying production: [type body]},
11652             Parse::RecDescent::_tracefirst($_[1]),
11653             q{option},
11654             $tracelevel)
11655             if defined $::RD_TRACE;
11656 1025         2391 my $thisprod = $thisrule->{"prods"}[1];
11657 1025         1771 $text = $_[1];
11658 1025         1267 my $_savetext;
11659 1025         2205 @item = (q{option});
11660 1025         2492 %item = (__RULE__ => q{option});
11661 1025         1365 my $repcount = 0;
11662              
11663              
11664 1025 50       38737 Parse::RecDescent::_trace(q{Trying subrule: [type]},
11665             Parse::RecDescent::_tracefirst($text),
11666             q{option},
11667             $tracelevel)
11668             if defined $::RD_TRACE;
11669 9     9   59 if (1) { no strict qw{refs};
  9         17  
  9         3213  
  1025         1195  
11670 1025         5312 $expectation->is(q{})->at($text);
11671 1025 100   1025   40245 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::type($thisparser,$text,$repeating,$_noactions,sub { return [@arg] },undef)))
  1025         10405  
11672             {
11673            
11674 336 50       899 Parse::RecDescent::_trace(q{<>},
11675             Parse::RecDescent::_tracefirst($text),
11676             q{option},
11677             $tracelevel)
11678             if defined $::RD_TRACE;
11679 336         3521 $expectation->failed();
11680 336         1592 last;
11681             }
11682 689 50       4657 Parse::RecDescent::_trace(q{>>Matched subrule: [type]<< (return value: [}
11683             . $_tok . q{]},
11684              
11685             Parse::RecDescent::_tracefirst($text),
11686             q{option},
11687             $tracelevel)
11688             if defined $::RD_TRACE;
11689 689         1427 $item{q{type}} = $_tok;
11690 689         1214 push @item, $_tok;
11691            
11692             }
11693              
11694            
11695              
11696 689 50       1519 Parse::RecDescent::_trace(q{Trying directive: []},
11697             Parse::RecDescent::_tracefirst($text),
11698             q{option},
11699             $tracelevel)
11700             if defined $::RD_TRACE;
11701 689         929 $_tok = do { $commit = 1 };
  689         1392  
11702 689 50       1451 if (defined($_tok))
11703             {
11704 689 50       1567 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
11705             . $_tok . q{])},
11706             Parse::RecDescent::_tracefirst($text))
11707             if defined $::RD_TRACE;
11708             }
11709             else
11710             {
11711 0 0       0 Parse::RecDescent::_trace(q{<>},
11712             Parse::RecDescent::_tracefirst($text))
11713             if defined $::RD_TRACE;
11714             }
11715            
11716 689 50       2092 last unless defined $_tok;
11717 689         1484 push @item, $item{__DIRECTIVE1__}=$_tok;
11718            
11719              
11720 689 50       1554 Parse::RecDescent::_trace(q{Trying subrule: [body]},
11721             Parse::RecDescent::_tracefirst($text),
11722             q{option},
11723             $tracelevel)
11724             if defined $::RD_TRACE;
11725 9     9   54 if (1) { no strict qw{refs};
  9         15  
  9         11482  
  689         960  
11726 689         2661 $expectation->is(q{body})->at($text);
11727 689 50   689   8938 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::body($thisparser,$text,$repeating,$_noactions,sub { return [$item[1], $item[1]->body] },undef)))
  689         4444  
11728             {
11729            
11730 0 0       0 Parse::RecDescent::_trace(q{<>},
11731             Parse::RecDescent::_tracefirst($text),
11732             q{option},
11733             $tracelevel)
11734             if defined $::RD_TRACE;
11735 0         0 $expectation->failed();
11736 0         0 last;
11737             }
11738 689 50       3797 Parse::RecDescent::_trace(q{>>Matched subrule: [body]<< (return value: [}
11739             . $_tok . q{]},
11740              
11741             Parse::RecDescent::_tracefirst($text),
11742             q{option},
11743             $tracelevel)
11744             if defined $::RD_TRACE;
11745 689         1782 $item{q{body}} = $_tok;
11746 689         1271 push @item, $_tok;
11747            
11748             }
11749              
11750 689 50       1625 Parse::RecDescent::_trace(q{Trying action},
11751             Parse::RecDescent::_tracefirst($text),
11752             q{option},
11753             $tracelevel)
11754             if defined $::RD_TRACE;
11755            
11756              
11757 689 50       1402 $_tok = ($_noactions) ? 0 : do {
11758 689         15333 $item[1]->instantiate($item[3]);
11759             };
11760 689 50       2463 unless (defined $_tok)
11761             {
11762 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
11763             if defined $::RD_TRACE;
11764 0         0 last;
11765             }
11766 689 50       1877 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
11767             . $_tok . q{])},
11768             Parse::RecDescent::_tracefirst($text))
11769             if defined $::RD_TRACE;
11770 689         1155 push @item, $_tok;
11771 689         1948 $item{__ACTION1__}=$_tok;
11772            
11773              
11774 689 50       1543 Parse::RecDescent::_trace(q{>>Matched production: [type body]<<},
11775             Parse::RecDescent::_tracefirst($text),
11776             q{option},
11777             $tracelevel)
11778             if defined $::RD_TRACE;
11779              
11780              
11781              
11782 689         1311 $_matched = 1;
11783 689         1304 last;
11784             }
11785              
11786              
11787 1034         4113 while (!$_matched)
11788             {
11789            
11790 336 50       892 Parse::RecDescent::_trace(q{Trying production: [ ]},
11791             Parse::RecDescent::_tracefirst($_[1]),
11792             q{option},
11793             $tracelevel)
11794             if defined $::RD_TRACE;
11795 336         845 my $thisprod = $thisrule->{"prods"}[2];
11796            
11797 336         771 my $_savetext;
11798 336         732 @item = (q{option});
11799 336         897 %item = (__RULE__ => q{option});
11800 336         593 my $repcount = 0;
11801              
11802              
11803            
11804              
11805 336 50       854 Parse::RecDescent::_trace(q{Trying directive: []},
11806             Parse::RecDescent::_tracefirst($text),
11807             q{option},
11808             $tracelevel)
11809             if defined $::RD_TRACE;
11810 336 0       449 $_tok = do { if ($commit) { do {
  336 50       678  
  0         0  
  336         581  
11811 0         0 my $rule = $item[0];
11812 0         0 $rule =~ s/_/ /g;
11813             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
11814 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
11815 0         0 } unless $_noactions; undef } else {0} };
11816 336 50       1121 if (defined($_tok))
11817             {
11818 336 50       1039 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
11819             . $_tok . q{])},
11820             Parse::RecDescent::_tracefirst($text))
11821             if defined $::RD_TRACE;
11822             }
11823             else
11824             {
11825 0 0       0 Parse::RecDescent::_trace(q{<>},
11826             Parse::RecDescent::_tracefirst($text))
11827             if defined $::RD_TRACE;
11828             }
11829            
11830 336 50       794 last unless defined $_tok;
11831 336         954 push @item, $item{__DIRECTIVE1__}=$_tok;
11832            
11833              
11834 336 50       836 Parse::RecDescent::_trace(q{>>Rejecting production<< (found )},
11835             Parse::RecDescent::_tracefirst($text),
11836             q{option},
11837             $tracelevel)
11838             if defined $::RD_TRACE;
11839 336         452 undef $return;
11840            
11841              
11842 336         487 $_tok = undef;
11843            
11844 336 50       884 last unless defined $_tok;
11845              
11846 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
11847             Parse::RecDescent::_tracefirst($text),
11848             q{option},
11849             $tracelevel)
11850             if defined $::RD_TRACE;
11851              
11852              
11853              
11854 0         0 $_matched = 1;
11855 0         0 last;
11856             }
11857              
11858              
11859 1034 100 66     4401 unless ( $_matched || defined($score) )
11860             {
11861            
11862              
11863 336         627 $_[1] = $text; # NOT SURE THIS IS NEEDED
11864 336 50       975 Parse::RecDescent::_trace(q{<>},
11865             Parse::RecDescent::_tracefirst($_[1]),
11866             q{option},
11867             $tracelevel)
11868             if defined $::RD_TRACE;
11869 336         2816 return undef;
11870             }
11871 698 50 33     3636 if (!defined($return) && defined($score))
11872             {
11873 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
11874             q{option},
11875             $tracelevel)
11876             if defined $::RD_TRACE;
11877 0         0 $return = $score_return;
11878             }
11879 698         974 splice @{$thisparser->{errors}}, $err_at;
  698         1862  
11880 698 50       12770 $return = $item[$#item] unless defined $return;
11881 698 50       1872 if (defined $::RD_TRACE)
11882             {
11883 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
11884             $return . q{])}, "",
11885             q{option},
11886             $tracelevel);
11887 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
11888             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
11889             Parse::RecDescent::_tracefirst($text),
11890             , q{option},
11891             $tracelevel)
11892             }
11893 698         1928 $_[1] = $text;
11894 698         9613 return $return;
11895             }
11896              
11897             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
11898             sub Parse::RecDescent::Config::Maker::Grammar::value_pair
11899             {
11900 20     20   53 my $thisparser = $_[0];
11901 9     9   75 use vars q{$tracelevel};
  9         30  
  9         4059  
11902 20   50     213 local $tracelevel = ($tracelevel||0)+1;
11903 20         44 $ERRORS = 0;
11904 20         59 my $thisrule = $thisparser->{"rules"}{"value_pair"};
11905              
11906 20 50       67 Parse::RecDescent::_trace(q{Trying rule: [value_pair]},
11907             Parse::RecDescent::_tracefirst($_[1]),
11908             q{value_pair},
11909             $tracelevel)
11910             if defined $::RD_TRACE;
11911              
11912            
11913 20         32 my $err_at = @{$thisparser->{errors}};
  20         57  
11914              
11915 20         38 my $score;
11916             my $score_return;
11917 0         0 my $_tok;
11918 20         44 my $return = undef;
11919 20         51 my $_matched=0;
11920 20         30 my $commit=0;
11921 20         46 my @item = ();
11922 20         367 my %item = ();
11923 20         44 my $repeating = $_[2];
11924 20         37 my $_noactions = $_[3];
11925 20 50       59 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  20         38  
  20         58  
11926 20         64 my $_itempos = $_[5];
11927 20 50       113 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
11928 20         37 my $text;
11929             my $lastsep;
11930 0         0 my $current_match;
11931 20         91 my $expectation = new Parse::RecDescent::Expectation(q{});
11932 20         178 $expectation->at($_[1]);
11933            
11934 20         89 my $thisline;
11935 20         102 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
11936              
11937            
11938              
11939 20   33     398 while (!$_matched && !$commit)
11940             {
11941            
11942 20 50       58 Parse::RecDescent::_trace(q{Trying production: [ ]},
11943             Parse::RecDescent::_tracefirst($_[1]),
11944             q{value_pair},
11945             $tracelevel)
11946             if defined $::RD_TRACE;
11947 20         66 my $thisprod = $thisrule->{"prods"}[0];
11948 20         46 $text = $_[1];
11949 20         30 my $_savetext;
11950 20         50 @item = (q{value_pair});
11951 20         55 %item = (__RULE__ => q{value_pair});
11952 20         33 my $repcount = 0;
11953              
11954              
11955 20 50       67 Parse::RecDescent::_trace(q{Trying subrule: [value_$arg[0][0]]},
11956             Parse::RecDescent::_tracefirst($text),
11957             q{value_pair},
11958             $tracelevel)
11959             if defined $::RD_TRACE;
11960 9     9   67 if (1) { no strict qw{refs};
  9         28  
  9         2186  
  20         37  
11961 20         73 $expectation->is(q{})->at($text);
11962 20 50   20   222 unless (defined ($_tok = &{'Parse::RecDescent::Config::Maker::Grammar::'.qq{value_$arg[0][0]}}($thisparser,$text,$repeating,$_noactions,sub { return [$arg[0][1..$#{$arg[0]}]] },undef)))
  20         197  
  20         238  
  0         0  
11963             {
11964            
11965 0 0       0 Parse::RecDescent::_trace(q{<>},
11966             Parse::RecDescent::_tracefirst($text),
11967             q{value_pair},
11968             $tracelevel)
11969             if defined $::RD_TRACE;
11970 0         0 $expectation->failed();
11971 0         0 last;
11972             }
11973 20 50       117 Parse::RecDescent::_trace(q{>>Matched subrule: [value_$arg[0][0]]<< (return value: [}
11974             . $_tok . q{]},
11975              
11976             Parse::RecDescent::_tracefirst($text),
11977             q{value_pair},
11978             $tracelevel)
11979             if defined $::RD_TRACE;
11980 20         63 $item{q{value_$arg[0][0]}} = $_tok;
11981 20         40 push @item, $_tok;
11982            
11983             }
11984              
11985 20 50       56 Parse::RecDescent::_trace(q{Trying subrule: [value_$arg[1][0]]},
11986             Parse::RecDescent::_tracefirst($text),
11987             q{value_pair},
11988             $tracelevel)
11989             if defined $::RD_TRACE;
11990 9     9   52 if (1) { no strict qw{refs};
  9         20  
  9         10951  
  20         28  
11991 20         93 $expectation->is(q{})->at($text);
11992 20 50   20   233 unless (defined ($_tok = &{'Parse::RecDescent::Config::Maker::Grammar::'.qq{value_$arg[1][0]}}($thisparser,$text,$repeating,$_noactions,sub { return [$arg[1][1..$#{$arg[1]}]] },undef)))
  20         182  
  20         122  
  0         0  
11993             {
11994            
11995 0 0       0 Parse::RecDescent::_trace(q{<>},
11996             Parse::RecDescent::_tracefirst($text),
11997             q{value_pair},
11998             $tracelevel)
11999             if defined $::RD_TRACE;
12000 0         0 $expectation->failed();
12001 0         0 last;
12002             }
12003 20 50       131 Parse::RecDescent::_trace(q{>>Matched subrule: [value_$arg[1][0]]<< (return value: [}
12004             . $_tok . q{]},
12005              
12006             Parse::RecDescent::_tracefirst($text),
12007             q{value_pair},
12008             $tracelevel)
12009             if defined $::RD_TRACE;
12010 20         58 $item{q{value_$arg[1][0]}} = $_tok;
12011 20         49 push @item, $_tok;
12012            
12013             }
12014              
12015 20 50       60 Parse::RecDescent::_trace(q{Trying action},
12016             Parse::RecDescent::_tracefirst($text),
12017             q{value_pair},
12018             $tracelevel)
12019             if defined $::RD_TRACE;
12020            
12021              
12022 20 50       59 $_tok = ($_noactions) ? 0 : do { new Config::Maker::Value::List [$item[1], $item[-1]]; };
  20         183  
12023 20 50       69 unless (defined $_tok)
12024             {
12025 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12026             if defined $::RD_TRACE;
12027 0         0 last;
12028             }
12029 20 50       67 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12030             . $_tok . q{])},
12031             Parse::RecDescent::_tracefirst($text))
12032             if defined $::RD_TRACE;
12033 20         173 push @item, $_tok;
12034 20         51 $item{__ACTION1__}=$_tok;
12035            
12036              
12037 20 50       52 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
12038             Parse::RecDescent::_tracefirst($text),
12039             q{value_pair},
12040             $tracelevel)
12041             if defined $::RD_TRACE;
12042              
12043              
12044              
12045 20         59 $_matched = 1;
12046 20         55 last;
12047             }
12048              
12049              
12050 20         119 while (!$_matched)
12051             {
12052            
12053 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
12054             Parse::RecDescent::_tracefirst($_[1]),
12055             q{value_pair},
12056             $tracelevel)
12057             if defined $::RD_TRACE;
12058 0         0 my $thisprod = $thisrule->{"prods"}[1];
12059            
12060 0         0 my $_savetext;
12061 0         0 @item = (q{value_pair});
12062 0         0 %item = (__RULE__ => q{value_pair});
12063 0         0 my $repcount = 0;
12064              
12065              
12066            
12067              
12068 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
12069             Parse::RecDescent::_tracefirst($text),
12070             q{value_pair},
12071             $tracelevel)
12072             if defined $::RD_TRACE;
12073 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
12074 0         0 my $rule = $item[0];
12075 0         0 $rule =~ s/_/ /g;
12076             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
12077 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
12078 0         0 } unless $_noactions; undef } else {0} };
12079 0 0       0 if (defined($_tok))
12080             {
12081 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
12082             . $_tok . q{])},
12083             Parse::RecDescent::_tracefirst($text))
12084             if defined $::RD_TRACE;
12085             }
12086             else
12087             {
12088 0 0       0 Parse::RecDescent::_trace(q{<>},
12089             Parse::RecDescent::_tracefirst($text))
12090             if defined $::RD_TRACE;
12091             }
12092            
12093 0 0       0 last unless defined $_tok;
12094 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
12095            
12096              
12097 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
12098             Parse::RecDescent::_tracefirst($text),
12099             q{value_pair},
12100             $tracelevel)
12101             if defined $::RD_TRACE;
12102              
12103              
12104              
12105 0         0 $_matched = 1;
12106 0         0 last;
12107             }
12108              
12109              
12110 20 50 33     89 unless ( $_matched || defined($score) )
12111             {
12112            
12113              
12114 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
12115 0 0       0 Parse::RecDescent::_trace(q{<>},
12116             Parse::RecDescent::_tracefirst($_[1]),
12117             q{value_pair},
12118             $tracelevel)
12119             if defined $::RD_TRACE;
12120 0         0 return undef;
12121             }
12122 20 50 33     166 if (!defined($return) && defined($score))
12123             {
12124 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
12125             q{value_pair},
12126             $tracelevel)
12127             if defined $::RD_TRACE;
12128 0         0 $return = $score_return;
12129             }
12130 20         28 splice @{$thisparser->{errors}}, $err_at;
  20         54  
12131 20 50       156 $return = $item[$#item] unless defined $return;
12132 20 50       63 if (defined $::RD_TRACE)
12133             {
12134 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
12135             $return . q{])}, "",
12136             q{value_pair},
12137             $tracelevel);
12138 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
12139             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
12140             Parse::RecDescent::_tracefirst($text),
12141             , q{value_pair},
12142             $tracelevel)
12143             }
12144 20         49 $_[1] = $text;
12145 20         29545 return $return;
12146             }
12147              
12148             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
12149             sub Parse::RecDescent::Config::Maker::Grammar::configuration
12150             {
12151 98     98   8460 my $thisparser = $_[0];
12152 9     9   58 use vars q{$tracelevel};
  9         24  
  9         7382  
12153 98   100     824 local $tracelevel = ($tracelevel||0)+1;
12154 98         186 $ERRORS = 0;
12155 98         358 my $thisrule = $thisparser->{"rules"}{"configuration"};
12156              
12157 98 50       333 Parse::RecDescent::_trace(q{Trying rule: [configuration]},
12158             Parse::RecDescent::_tracefirst($_[1]),
12159             q{configuration},
12160             $tracelevel)
12161             if defined $::RD_TRACE;
12162              
12163            
12164 98         148 my $err_at = @{$thisparser->{errors}};
  98         248  
12165              
12166 98         194 my $score;
12167             my $score_return;
12168 0         0 my $_tok;
12169 98         158 my $return = undef;
12170 98         170 my $_matched=0;
12171 98         176 my $commit=0;
12172 98         199 my @item = ();
12173 98         231 my %item = ();
12174 98         179 my $repeating = $_[2];
12175 98         152 my $_noactions = $_[3];
12176 98 50       362 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  98         494  
  98         320  
12177 98         604 my $_itempos = $_[5];
12178 98 50       718 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
12179 98         236 my $text;
12180             my $lastsep;
12181 0         0 my $current_match;
12182 98         943 my $expectation = new Parse::RecDescent::Expectation(q{});
12183 98         1303 $expectation->at($_[1]);
12184            
12185 98         514 my $thisline;
12186 98         720 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
12187              
12188            
12189              
12190 98   33     1575 while (!$_matched && !$commit)
12191             {
12192 98 50       381 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
12193 98 50       308 Parse::RecDescent::_trace(q{Trying production: [ option eof]},
12194             Parse::RecDescent::_tracefirst($_[1]),
12195             q{configuration},
12196             $tracelevel)
12197             if defined $::RD_TRACE;
12198 98         385 my $thisprod = $thisrule->{"prods"}[0];
12199 98         214 $text = $_[1];
12200 98         139 my $_savetext;
12201 98         278 @item = (q{configuration});
12202 98         333 %item = (__RULE__ => q{configuration});
12203 98         170 my $repcount = 0;
12204              
12205              
12206            
12207              
12208 98 50       302 Parse::RecDescent::_trace(q{Trying directive: []},
12209             Parse::RecDescent::_tracefirst($text),
12210             q{configuration},
12211             $tracelevel)
12212             if defined $::RD_TRACE;
12213 98         160 $_tok = do { my $oldskip = $skip; $skip= qr/(\s|#[^\n]*)*/; $oldskip };
  98         168  
  98         537  
  98         233  
12214 98 50       285 if (defined($_tok))
12215             {
12216 98 50       303 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
12217             . $_tok . q{])},
12218             Parse::RecDescent::_tracefirst($text))
12219             if defined $::RD_TRACE;
12220             }
12221             else
12222             {
12223 0 0       0 Parse::RecDescent::_trace(q{<>},
12224             Parse::RecDescent::_tracefirst($text))
12225             if defined $::RD_TRACE;
12226             }
12227            
12228 98 50       312 last unless defined $_tok;
12229 98         331 push @item, $item{__DIRECTIVE1__}=$_tok;
12230            
12231              
12232 98 50       324 Parse::RecDescent::_trace(q{Trying repeated subrule: [option]},
12233             Parse::RecDescent::_tracefirst($text),
12234             q{configuration},
12235             $tracelevel)
12236             if defined $::RD_TRACE;
12237 98         405 $expectation->is(q{option})->at($text);
12238            
12239 98 50   401   1669 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::option, 0, 100000000, $_noactions,$expectation,sub { return [$arg[0]] },undef)))
  401         1514  
12240             {
12241 0 0       0 Parse::RecDescent::_trace(q{<>},
12242             Parse::RecDescent::_tracefirst($text),
12243             q{configuration},
12244             $tracelevel)
12245             if defined $::RD_TRACE;
12246 0         0 last;
12247             }
12248 98 50       1976 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [option]<< (}
12249             . @$_tok . q{ times)},
12250              
12251             Parse::RecDescent::_tracefirst($text),
12252             q{configuration},
12253             $tracelevel)
12254             if defined $::RD_TRACE;
12255 98         346 $item{q{option(s?)}} = $_tok;
12256 98         200 push @item, $_tok;
12257            
12258              
12259              
12260 98 50       462 Parse::RecDescent::_trace(q{Trying subrule: [eof]},
12261             Parse::RecDescent::_tracefirst($text),
12262             q{configuration},
12263             $tracelevel)
12264             if defined $::RD_TRACE;
12265 9     9   58 if (1) { no strict qw{refs};
  9         18  
  9         9866  
  98         232  
12266 98         381 $expectation->is(q{eof})->at($text);
12267 98 50   98   1932 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::eof($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  98         302  
12268             {
12269            
12270 0 0       0 Parse::RecDescent::_trace(q{<>},
12271             Parse::RecDescent::_tracefirst($text),
12272             q{configuration},
12273             $tracelevel)
12274             if defined $::RD_TRACE;
12275 0         0 $expectation->failed();
12276 0         0 last;
12277             }
12278 98 50       616 Parse::RecDescent::_trace(q{>>Matched subrule: [eof]<< (return value: [}
12279             . $_tok . q{]},
12280              
12281             Parse::RecDescent::_tracefirst($text),
12282             q{configuration},
12283             $tracelevel)
12284             if defined $::RD_TRACE;
12285 98         1458 $item{q{eof}} = $_tok;
12286 98         238 push @item, $_tok;
12287            
12288             }
12289              
12290 98 50       259 Parse::RecDescent::_trace(q{Trying action},
12291             Parse::RecDescent::_tracefirst($text),
12292             q{configuration},
12293             $tracelevel)
12294             if defined $::RD_TRACE;
12295            
12296              
12297 98 50       248 $_tok = ($_noactions) ? 0 : do { $item[2]; };
  98         222  
12298 98 50       333 unless (defined $_tok)
12299             {
12300 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12301             if defined $::RD_TRACE;
12302 0         0 last;
12303             }
12304 98 50       330 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12305             . $_tok . q{])},
12306             Parse::RecDescent::_tracefirst($text))
12307             if defined $::RD_TRACE;
12308 98         193 push @item, $_tok;
12309 98         246 $item{__ACTION1__}=$_tok;
12310            
12311              
12312 98 50       281 Parse::RecDescent::_trace(q{>>Matched production: [ option eof]<<},
12313             Parse::RecDescent::_tracefirst($text),
12314             q{configuration},
12315             $tracelevel)
12316             if defined $::RD_TRACE;
12317              
12318              
12319              
12320 98         162 $_matched = 1;
12321 98         505 last;
12322             }
12323              
12324              
12325 98         348 while (!$_matched)
12326             {
12327            
12328 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
12329             Parse::RecDescent::_tracefirst($_[1]),
12330             q{configuration},
12331             $tracelevel)
12332             if defined $::RD_TRACE;
12333 0         0 my $thisprod = $thisrule->{"prods"}[1];
12334            
12335 0         0 my $_savetext;
12336 0         0 @item = (q{configuration});
12337 0         0 %item = (__RULE__ => q{configuration});
12338 0         0 my $repcount = 0;
12339              
12340              
12341            
12342              
12343 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
12344             Parse::RecDescent::_tracefirst($text),
12345             q{configuration},
12346             $tracelevel)
12347             if defined $::RD_TRACE;
12348 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
12349 0         0 my $rule = $item[0];
12350 0         0 $rule =~ s/_/ /g;
12351             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
12352 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
12353 0         0 } unless $_noactions; undef } else {0} };
12354 0 0       0 if (defined($_tok))
12355             {
12356 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
12357             . $_tok . q{])},
12358             Parse::RecDescent::_tracefirst($text))
12359             if defined $::RD_TRACE;
12360             }
12361             else
12362             {
12363 0 0       0 Parse::RecDescent::_trace(q{<>},
12364             Parse::RecDescent::_tracefirst($text))
12365             if defined $::RD_TRACE;
12366             }
12367            
12368 0 0       0 last unless defined $_tok;
12369 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
12370            
12371              
12372 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
12373             Parse::RecDescent::_tracefirst($text),
12374             q{configuration},
12375             $tracelevel)
12376             if defined $::RD_TRACE;
12377              
12378              
12379              
12380 0         0 $_matched = 1;
12381 0         0 last;
12382             }
12383              
12384              
12385 98 50 33     356 unless ( $_matched || defined($score) )
12386             {
12387            
12388              
12389 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
12390 0 0       0 Parse::RecDescent::_trace(q{<>},
12391             Parse::RecDescent::_tracefirst($_[1]),
12392             q{configuration},
12393             $tracelevel)
12394             if defined $::RD_TRACE;
12395 0         0 return undef;
12396             }
12397 98 50 33     701 if (!defined($return) && defined($score))
12398             {
12399 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
12400             q{configuration},
12401             $tracelevel)
12402             if defined $::RD_TRACE;
12403 0         0 $return = $score_return;
12404             }
12405 98         160 splice @{$thisparser->{errors}}, $err_at;
  98         816  
12406 98 50       440 $return = $item[$#item] unless defined $return;
12407 98 50       293 if (defined $::RD_TRACE)
12408             {
12409 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
12410             $return . q{])}, "",
12411             q{configuration},
12412             $tracelevel);
12413 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
12414             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
12415             Parse::RecDescent::_tracefirst($text),
12416             , q{configuration},
12417             $tracelevel)
12418             }
12419 98         257 $_[1] = $text;
12420 98         1587 return $return;
12421             }
12422              
12423             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
12424             sub Parse::RecDescent::Config::Maker::Grammar::value
12425             {
12426 796     796   3156 my $thisparser = $_[0];
12427 9     9   66 use vars q{$tracelevel};
  9         25  
  9         6031  
12428 796   50     3319 local $tracelevel = ($tracelevel||0)+1;
12429 796         1123 $ERRORS = 0;
12430 796         2107 my $thisrule = $thisparser->{"rules"}{"value"};
12431              
12432 796 50       2550 Parse::RecDescent::_trace(q{Trying rule: [value]},
12433             Parse::RecDescent::_tracefirst($_[1]),
12434             q{value},
12435             $tracelevel)
12436             if defined $::RD_TRACE;
12437              
12438            
12439 796         1075 my $err_at = @{$thisparser->{errors}};
  796         1671  
12440              
12441 796         1155 my $score;
12442             my $score_return;
12443 0         0 my $_tok;
12444 796         1067 my $return = undef;
12445 796         1135 my $_matched=0;
12446 796         956 my $commit=0;
12447 796         1370 my @item = ();
12448 796         3201 my %item = ();
12449 796         1117 my $repeating = $_[2];
12450 796         1077 my $_noactions = $_[3];
12451 796 50       2606 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  796         992  
  796         2066  
12452 796         1799 my $_itempos = $_[5];
12453 796 100       6953 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
12454 796         13652 my $text;
12455             my $lastsep;
12456 0         0 my $current_match;
12457 796         3728 my $expectation = new Parse::RecDescent::Expectation(q{''});
12458 796         11279 $expectation->at($_[1]);
12459            
12460 796         4784 my $thisline;
12461 796         3821 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
12462              
12463            
12464              
12465 796   33     10231 while (!$_matched && !$commit)
12466             {
12467            
12468 796 50       2114 Parse::RecDescent::_trace(q{Trying production: ['' ]},
12469             Parse::RecDescent::_tracefirst($_[1]),
12470             q{value},
12471             $tracelevel)
12472             if defined $::RD_TRACE;
12473 796         2130 my $thisprod = $thisrule->{"prods"}[0];
12474 796         2390 $text = $_[1];
12475 796         1736 my $_savetext;
12476 796         1604 @item = (q{value});
12477 796         7811 %item = (__RULE__ => q{value});
12478 796         6291 my $repcount = 0;
12479              
12480              
12481 796 50       2226 Parse::RecDescent::_trace(q{Trying terminal: ['']},
12482             Parse::RecDescent::_tracefirst($text),
12483             q{value},
12484             $tracelevel)
12485             if defined $::RD_TRACE;
12486 796         1224 undef $lastsep;
12487 796         2718 $expectation->is(q{})->at($text);
12488            
12489              
12490 796 100 33     15134 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A/)
  796 50       23399  
12491             {
12492 0 0       0 $text = $lastsep . $text if defined $lastsep;
12493            
12494 0         0 $expectation->failed();
12495 0 0       0 Parse::RecDescent::_trace(qq{<>},
12496             Parse::RecDescent::_tracefirst($text))
12497             if defined $::RD_TRACE;
12498 0         0 last;
12499             }
12500 796         6342 $current_match = substr($text, $-[0], $+[0] - $-[0]);
12501 796         3749 substr($text,0,length($current_match),q{});
12502 796 50       14437 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12503             . $current_match . q{])},
12504             Parse::RecDescent::_tracefirst($text))
12505             if defined $::RD_TRACE;
12506 796         2402 push @item, $item{__STRING1__}=$current_match;
12507            
12508              
12509 796 50       2193 Parse::RecDescent::_trace(q{Trying subrule: [value_$arg[0]]},
12510             Parse::RecDescent::_tracefirst($text),
12511             q{value},
12512             $tracelevel)
12513             if defined $::RD_TRACE;
12514 9     9   192 if (1) { no strict qw{refs};
  9         20  
  9         5862  
  796         1816  
12515 796         2913 $expectation->is(q{})->at($text);
12516 796 100   796   9609 unless (defined ($_tok = &{'Parse::RecDescent::Config::Maker::Grammar::'.qq{value_$arg[0]}}($thisparser,$text,$repeating,$_noactions,sub { return [@arg[1..$#arg]] },undef)))
  796         7316  
  796         3593  
12517             {
12518            
12519 74 50       286 Parse::RecDescent::_trace(q{<>},
12520             Parse::RecDescent::_tracefirst($text),
12521             q{value},
12522             $tracelevel)
12523             if defined $::RD_TRACE;
12524 74         287 $expectation->failed();
12525 74         1036 last;
12526             }
12527 722 50       3938 Parse::RecDescent::_trace(q{>>Matched subrule: [value_$arg[0]]<< (return value: [}
12528             . $_tok . q{]},
12529              
12530             Parse::RecDescent::_tracefirst($text),
12531             q{value},
12532             $tracelevel)
12533             if defined $::RD_TRACE;
12534 722         2153 $item{q{value_$arg[0]}} = $_tok;
12535 722         1290 push @item, $_tok;
12536            
12537             }
12538              
12539 722 50       2126 Parse::RecDescent::_trace(q{>>Matched production: ['' ]<<},
12540             Parse::RecDescent::_tracefirst($text),
12541             q{value},
12542             $tracelevel)
12543             if defined $::RD_TRACE;
12544              
12545              
12546              
12547 722         1100 $_matched = 1;
12548 722         1530 last;
12549             }
12550              
12551              
12552 796 100 66     3350 unless ( $_matched || defined($score) )
12553             {
12554            
12555              
12556 74         177 $_[1] = $text; # NOT SURE THIS IS NEEDED
12557 74 50       254 Parse::RecDescent::_trace(q{<>},
12558             Parse::RecDescent::_tracefirst($_[1]),
12559             q{value},
12560             $tracelevel)
12561             if defined $::RD_TRACE;
12562 74         659 return undef;
12563             }
12564 722 50 33     3861 if (!defined($return) && defined($score))
12565             {
12566 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
12567             q{value},
12568             $tracelevel)
12569             if defined $::RD_TRACE;
12570 0         0 $return = $score_return;
12571             }
12572 722         937 splice @{$thisparser->{errors}}, $err_at;
  722         1877  
12573 722 50       2287 $return = $item[$#item] unless defined $return;
12574 722 50       2114 if (defined $::RD_TRACE)
12575             {
12576 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
12577             $return . q{])}, "",
12578             q{value},
12579             $tracelevel);
12580 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
12581             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
12582             Parse::RecDescent::_tracefirst($text),
12583             , q{value},
12584             $tracelevel)
12585             }
12586 722         1330 $_[1] = $text;
12587 722         8342 return $return;
12588             }
12589              
12590             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
12591             sub Parse::RecDescent::Config::Maker::Grammar::value_list
12592             {
12593 0     0   0 my $thisparser = $_[0];
12594 9     9   59 use vars q{$tracelevel};
  9         38  
  9         20201  
12595 0   0     0 local $tracelevel = ($tracelevel||0)+1;
12596 0         0 $ERRORS = 0;
12597 0         0 my $thisrule = $thisparser->{"rules"}{"value_list"};
12598              
12599 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [value_list]},
12600             Parse::RecDescent::_tracefirst($_[1]),
12601             q{value_list},
12602             $tracelevel)
12603             if defined $::RD_TRACE;
12604              
12605            
12606 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
12607              
12608 0         0 my $score;
12609             my $score_return;
12610 0         0 my $_tok;
12611 0         0 my $return = undef;
12612 0         0 my $_matched=0;
12613 0         0 my $commit=0;
12614 0         0 my @item = ();
12615 0         0 my %item = ();
12616 0         0 my $repeating = $_[2];
12617 0         0 my $_noactions = $_[3];
12618 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
12619 0         0 my $_itempos = $_[5];
12620 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
12621 0         0 my $text;
12622             my $lastsep;
12623 0         0 my $current_match;
12624 0         0 my $expectation = new Parse::RecDescent::Expectation(q{value});
12625 0         0 $expectation->at($_[1]);
12626            
12627 0         0 my $thisline;
12628 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
12629              
12630            
12631              
12632 0   0     0 while (!$_matched && !$commit)
12633             {
12634            
12635 0 0       0 Parse::RecDescent::_trace(q{Trying production: [value]},
12636             Parse::RecDescent::_tracefirst($_[1]),
12637             q{value_list},
12638             $tracelevel)
12639             if defined $::RD_TRACE;
12640 0         0 my $thisprod = $thisrule->{"prods"}[0];
12641 0         0 $text = $_[1];
12642 0         0 my $_savetext;
12643 0         0 @item = (q{value_list});
12644 0         0 %item = (__RULE__ => q{value_list});
12645 0         0 my $repcount = 0;
12646              
12647              
12648 0 0       0 Parse::RecDescent::_trace(q{Trying repeated subrule: [value]},
12649             Parse::RecDescent::_tracefirst($text),
12650             q{value_list},
12651             $tracelevel)
12652             if defined $::RD_TRACE;
12653 0         0 $expectation->is(q{})->at($text);
12654            
12655 0 0   0   0 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::value, 1, 100000000, $_noactions,$expectation,sub { return [@arg] },undef)))
  0         0  
12656             {
12657 0 0       0 Parse::RecDescent::_trace(q{<>},
12658             Parse::RecDescent::_tracefirst($text),
12659             q{value_list},
12660             $tracelevel)
12661             if defined $::RD_TRACE;
12662 0         0 last;
12663             }
12664 0 0       0 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [value]<< (}
12665             . @$_tok . q{ times)},
12666              
12667             Parse::RecDescent::_tracefirst($text),
12668             q{value_list},
12669             $tracelevel)
12670             if defined $::RD_TRACE;
12671 0         0 $item{q{value(s)}} = $_tok;
12672 0         0 push @item, $_tok;
12673            
12674              
12675              
12676 0 0       0 Parse::RecDescent::_trace(q{Trying action},
12677             Parse::RecDescent::_tracefirst($text),
12678             q{value_list},
12679             $tracelevel)
12680             if defined $::RD_TRACE;
12681            
12682              
12683 0 0       0 $_tok = ($_noactions) ? 0 : do { new Config::Maker::Value::List($item[1]); };
  0         0  
12684 0 0       0 unless (defined $_tok)
12685             {
12686 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12687             if defined $::RD_TRACE;
12688 0         0 last;
12689             }
12690 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12691             . $_tok . q{])},
12692             Parse::RecDescent::_tracefirst($text))
12693             if defined $::RD_TRACE;
12694 0         0 push @item, $_tok;
12695 0         0 $item{__ACTION1__}=$_tok;
12696            
12697              
12698 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [value]<<},
12699             Parse::RecDescent::_tracefirst($text),
12700             q{value_list},
12701             $tracelevel)
12702             if defined $::RD_TRACE;
12703              
12704              
12705              
12706 0         0 $_matched = 1;
12707 0         0 last;
12708             }
12709              
12710              
12711 0         0 while (!$_matched)
12712             {
12713            
12714 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
12715             Parse::RecDescent::_tracefirst($_[1]),
12716             q{value_list},
12717             $tracelevel)
12718             if defined $::RD_TRACE;
12719 0         0 my $thisprod = $thisrule->{"prods"}[1];
12720            
12721 0         0 my $_savetext;
12722 0         0 @item = (q{value_list});
12723 0         0 %item = (__RULE__ => q{value_list});
12724 0         0 my $repcount = 0;
12725              
12726              
12727            
12728              
12729 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
12730             Parse::RecDescent::_tracefirst($text),
12731             q{value_list},
12732             $tracelevel)
12733             if defined $::RD_TRACE;
12734 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
12735 0         0 my $rule = $item[0];
12736 0         0 $rule =~ s/_/ /g;
12737             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
12738 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
12739 0         0 } unless $_noactions; undef } else {0} };
12740 0 0       0 if (defined($_tok))
12741             {
12742 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
12743             . $_tok . q{])},
12744             Parse::RecDescent::_tracefirst($text))
12745             if defined $::RD_TRACE;
12746             }
12747             else
12748             {
12749 0 0       0 Parse::RecDescent::_trace(q{<>},
12750             Parse::RecDescent::_tracefirst($text))
12751             if defined $::RD_TRACE;
12752             }
12753            
12754 0 0       0 last unless defined $_tok;
12755 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
12756            
12757              
12758 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
12759             Parse::RecDescent::_tracefirst($text),
12760             q{value_list},
12761             $tracelevel)
12762             if defined $::RD_TRACE;
12763              
12764              
12765              
12766 0         0 $_matched = 1;
12767 0         0 last;
12768             }
12769              
12770              
12771 0 0 0     0 unless ( $_matched || defined($score) )
12772             {
12773            
12774              
12775 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
12776 0 0       0 Parse::RecDescent::_trace(q{<>},
12777             Parse::RecDescent::_tracefirst($_[1]),
12778             q{value_list},
12779             $tracelevel)
12780             if defined $::RD_TRACE;
12781 0         0 return undef;
12782             }
12783 0 0 0     0 if (!defined($return) && defined($score))
12784             {
12785 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
12786             q{value_list},
12787             $tracelevel)
12788             if defined $::RD_TRACE;
12789 0         0 $return = $score_return;
12790             }
12791 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
12792 0 0       0 $return = $item[$#item] unless defined $return;
12793 0 0       0 if (defined $::RD_TRACE)
12794             {
12795 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
12796             $return . q{])}, "",
12797             q{value_list},
12798             $tracelevel);
12799 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
12800             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
12801             Parse::RecDescent::_tracefirst($text),
12802             , q{value_list},
12803             $tracelevel)
12804             }
12805 0         0 $_[1] = $text;
12806 0         0 return $return;
12807             }
12808              
12809             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
12810             sub Parse::RecDescent::Config::Maker::Grammar::value_port
12811             {
12812 2     2   5 my $thisparser = $_[0];
12813 9     9   69 use vars q{$tracelevel};
  9         19  
  9         4185  
12814 2   50     10 local $tracelevel = ($tracelevel||0)+1;
12815 2         5 $ERRORS = 0;
12816 2         8 my $thisrule = $thisparser->{"rules"}{"value_port"};
12817              
12818 2 50       7 Parse::RecDescent::_trace(q{Trying rule: [value_port]},
12819             Parse::RecDescent::_tracefirst($_[1]),
12820             q{value_port},
12821             $tracelevel)
12822             if defined $::RD_TRACE;
12823              
12824            
12825 2         3 my $err_at = @{$thisparser->{errors}};
  2         6  
12826              
12827 2         6 my $score;
12828             my $score_return;
12829 0         0 my $_tok;
12830 2         4 my $return = undef;
12831 2         4 my $_matched=0;
12832 2         4 my $commit=0;
12833 2         5 my @item = ();
12834 2         6 my %item = ();
12835 2         3 my $repeating = $_[2];
12836 2         5 my $_noactions = $_[3];
12837 2 50       7 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  2         4  
  2         5  
12838 2         5 my $_itempos = $_[5];
12839 2 50       8 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
12840 2         4 my $text;
12841             my $lastsep;
12842 0         0 my $current_match;
12843 2         11 my $expectation = new Parse::RecDescent::Expectation(q{decint});
12844 2         21 $expectation->at($_[1]);
12845            
12846 2         10 my $thisline;
12847 2         13 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
12848              
12849            
12850              
12851 2   33     28 while (!$_matched && !$commit)
12852             {
12853            
12854 2 50       9 Parse::RecDescent::_trace(q{Trying production: [decint]},
12855             Parse::RecDescent::_tracefirst($_[1]),
12856             q{value_port},
12857             $tracelevel)
12858             if defined $::RD_TRACE;
12859 2         8 my $thisprod = $thisrule->{"prods"}[0];
12860 2         7 $text = $_[1];
12861 2         3 my $_savetext;
12862 2         6 @item = (q{value_port});
12863 2         7 %item = (__RULE__ => q{value_port});
12864 2         4 my $repcount = 0;
12865              
12866              
12867 2 50       8 Parse::RecDescent::_trace(q{Trying subrule: [decint]},
12868             Parse::RecDescent::_tracefirst($text),
12869             q{value_port},
12870             $tracelevel)
12871             if defined $::RD_TRACE;
12872 9     9   67 if (1) { no strict qw{refs};
  9         21  
  9         15822  
  2         2  
12873 2         85 $expectation->is(q{})->at($text);
12874 2 50   2   28 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::decint($thisparser,$text,$repeating,$_noactions,sub { return [0,65535] },undef)))
  2         8  
12875             {
12876            
12877 0 0       0 Parse::RecDescent::_trace(q{<>},
12878             Parse::RecDescent::_tracefirst($text),
12879             q{value_port},
12880             $tracelevel)
12881             if defined $::RD_TRACE;
12882 0         0 $expectation->failed();
12883 0         0 last;
12884             }
12885 2 50       13 Parse::RecDescent::_trace(q{>>Matched subrule: [decint]<< (return value: [}
12886             . $_tok . q{]},
12887              
12888             Parse::RecDescent::_tracefirst($text),
12889             q{value_port},
12890             $tracelevel)
12891             if defined $::RD_TRACE;
12892 2         5 $item{q{decint}} = $_tok;
12893 2         147 push @item, $_tok;
12894            
12895             }
12896              
12897 2 50       136 Parse::RecDescent::_trace(q{>>Matched production: [decint]<<},
12898             Parse::RecDescent::_tracefirst($text),
12899             q{value_port},
12900             $tracelevel)
12901             if defined $::RD_TRACE;
12902              
12903              
12904              
12905 2         196 $_matched = 1;
12906 2         5 last;
12907             }
12908              
12909              
12910 2         93 while (!$_matched)
12911             {
12912            
12913 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
12914             Parse::RecDescent::_tracefirst($_[1]),
12915             q{value_port},
12916             $tracelevel)
12917             if defined $::RD_TRACE;
12918 0         0 my $thisprod = $thisrule->{"prods"}[1];
12919            
12920 0         0 my $_savetext;
12921 0         0 @item = (q{value_port});
12922 0         0 %item = (__RULE__ => q{value_port});
12923 0         0 my $repcount = 0;
12924              
12925              
12926            
12927              
12928 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
12929             Parse::RecDescent::_tracefirst($text),
12930             q{value_port},
12931             $tracelevel)
12932             if defined $::RD_TRACE;
12933 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
12934 0         0 my $rule = $item[0];
12935 0         0 $rule =~ s/_/ /g;
12936             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
12937 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
12938 0         0 } unless $_noactions; undef } else {0} };
12939 0 0       0 if (defined($_tok))
12940             {
12941 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
12942             . $_tok . q{])},
12943             Parse::RecDescent::_tracefirst($text))
12944             if defined $::RD_TRACE;
12945             }
12946             else
12947             {
12948 0 0       0 Parse::RecDescent::_trace(q{<>},
12949             Parse::RecDescent::_tracefirst($text))
12950             if defined $::RD_TRACE;
12951             }
12952            
12953 0 0       0 last unless defined $_tok;
12954 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
12955            
12956              
12957 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
12958             Parse::RecDescent::_tracefirst($text),
12959             q{value_port},
12960             $tracelevel)
12961             if defined $::RD_TRACE;
12962              
12963              
12964              
12965 0         0 $_matched = 1;
12966 0         0 last;
12967             }
12968              
12969              
12970 2 50 33     10 unless ( $_matched || defined($score) )
12971             {
12972            
12973              
12974 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
12975 0 0       0 Parse::RecDescent::_trace(q{<>},
12976             Parse::RecDescent::_tracefirst($_[1]),
12977             q{value_port},
12978             $tracelevel)
12979             if defined $::RD_TRACE;
12980 0         0 return undef;
12981             }
12982 2 50 33     15 if (!defined($return) && defined($score))
12983             {
12984 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
12985             q{value_port},
12986             $tracelevel)
12987             if defined $::RD_TRACE;
12988 0         0 $return = $score_return;
12989             }
12990 2         4 splice @{$thisparser->{errors}}, $err_at;
  2         8  
12991 2 50       13 $return = $item[$#item] unless defined $return;
12992 2 50       8 if (defined $::RD_TRACE)
12993             {
12994 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
12995             $return . q{])}, "",
12996             q{value_port},
12997             $tracelevel);
12998 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
12999             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
13000             Parse::RecDescent::_tracefirst($text),
13001             , q{value_port},
13002             $tracelevel)
13003             }
13004 2         5 $_[1] = $text;
13005 2         22 return $return;
13006             }
13007              
13008             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
13009             sub Parse::RecDescent::Config::Maker::Grammar::pcondition
13010             {
13011 298     298   22996 my $thisparser = $_[0];
13012 9     9   66 use vars q{$tracelevel};
  9         20  
  9         6011  
13013 298   50     1017 local $tracelevel = ($tracelevel||0)+1;
13014 298         556 $ERRORS = 0;
13015 298         823 my $thisrule = $thisparser->{"rules"}{"pcondition"};
13016              
13017 298 50       702 Parse::RecDescent::_trace(q{Trying rule: [pcondition]},
13018             Parse::RecDescent::_tracefirst($_[1]),
13019             q{pcondition},
13020             $tracelevel)
13021             if defined $::RD_TRACE;
13022              
13023            
13024 298         450 my $err_at = @{$thisparser->{errors}};
  298         744  
13025              
13026 298         559 my $score;
13027             my $score_return;
13028 0         0 my $_tok;
13029 298         2832 my $return = undef;
13030 298         422 my $_matched=0;
13031 298         408 my $commit=0;
13032 298         543 my @item = ();
13033 298         544 my %item = ();
13034 298         444 my $repeating = $_[2];
13035 298         431 my $_noactions = $_[3];
13036 298 50       888 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  298         972  
  298         659  
13037 298         633 my $_itempos = $_[5];
13038 298 100       884 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
13039 298         433 my $text;
13040             my $lastsep;
13041 0         0 my $current_match;
13042 298         1185 my $expectation = new Parse::RecDescent::Expectation(q{perl_codeblock});
13043 298         2972 $expectation->at($_[1]);
13044            
13045 298         1302 my $thisline;
13046 298         1418 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
13047              
13048            
13049              
13050 298   33     5874 while (!$_matched && !$commit)
13051             {
13052            
13053 298 50       829 Parse::RecDescent::_trace(q{Trying production: [perl_codeblock]},
13054             Parse::RecDescent::_tracefirst($_[1]),
13055             q{pcondition},
13056             $tracelevel)
13057             if defined $::RD_TRACE;
13058 298         815 my $thisprod = $thisrule->{"prods"}[0];
13059 298         561 $text = $_[1];
13060 298         396 my $_savetext;
13061 298         752 @item = (q{pcondition});
13062 298         850 %item = (__RULE__ => q{pcondition});
13063 298         423 my $repcount = 0;
13064              
13065              
13066 298 50       821 Parse::RecDescent::_trace(q{Trying subrule: [perl_codeblock]},
13067             Parse::RecDescent::_tracefirst($text),
13068             q{pcondition},
13069             $tracelevel)
13070             if defined $::RD_TRACE;
13071 9     9   61 if (1) { no strict qw{refs};
  9         21  
  9         5194  
  298         404  
13072 298         987 $expectation->is(q{})->at($text);
13073 298 100   298   4233 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::perl_codeblock($thisparser,$text,$repeating,$_noactions,sub { return ['()'] },undef)))
  298         1026  
13074             {
13075            
13076 292 50       738 Parse::RecDescent::_trace(q{<>},
13077             Parse::RecDescent::_tracefirst($text),
13078             q{pcondition},
13079             $tracelevel)
13080             if defined $::RD_TRACE;
13081 292         1362 $expectation->failed();
13082 292         1324 last;
13083             }
13084 6 50       36 Parse::RecDescent::_trace(q{>>Matched subrule: [perl_codeblock]<< (return value: [}
13085             . $_tok . q{]},
13086              
13087             Parse::RecDescent::_tracefirst($text),
13088             q{pcondition},
13089             $tracelevel)
13090             if defined $::RD_TRACE;
13091 6         17 $item{q{perl_codeblock}} = $_tok;
13092 6         13 push @item, $_tok;
13093            
13094             }
13095              
13096 6 50       19 Parse::RecDescent::_trace(q{>>Matched production: [perl_codeblock]<<},
13097             Parse::RecDescent::_tracefirst($text),
13098             q{pcondition},
13099             $tracelevel)
13100             if defined $::RD_TRACE;
13101              
13102              
13103              
13104 6         41 $_matched = 1;
13105 6         11 last;
13106             }
13107              
13108              
13109 298 100 66     2568 unless ( $_matched || defined($score) )
13110             {
13111            
13112              
13113 292         656 $_[1] = $text; # NOT SURE THIS IS NEEDED
13114 292 50       730 Parse::RecDescent::_trace(q{<>},
13115             Parse::RecDescent::_tracefirst($_[1]),
13116             q{pcondition},
13117             $tracelevel)
13118             if defined $::RD_TRACE;
13119 292         2118 return undef;
13120             }
13121 6 50 33     41 if (!defined($return) && defined($score))
13122             {
13123 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
13124             q{pcondition},
13125             $tracelevel)
13126             if defined $::RD_TRACE;
13127 0         0 $return = $score_return;
13128             }
13129 6         79 splice @{$thisparser->{errors}}, $err_at;
  6         20  
13130 6 50       25 $return = $item[$#item] unless defined $return;
13131 6 50       17 if (defined $::RD_TRACE)
13132             {
13133 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
13134             $return . q{])}, "",
13135             q{pcondition},
13136             $tracelevel);
13137 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
13138             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
13139             Parse::RecDescent::_tracefirst($text),
13140             , q{pcondition},
13141             $tracelevel)
13142             }
13143 6         14 $_[1] = $text;
13144 6         74 return $return;
13145             }
13146              
13147             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
13148             sub Parse::RecDescent::Config::Maker::Grammar::separator
13149             {
13150 910     910   1333 my $thisparser = $_[0];
13151 9     9   62 use vars q{$tracelevel};
  9         18  
  9         10072  
13152 910   50     3677 local $tracelevel = ($tracelevel||0)+1;
13153 910         1166 $ERRORS = 0;
13154 910         2019 my $thisrule = $thisparser->{"rules"}{"separator"};
13155              
13156 910 50       1997 Parse::RecDescent::_trace(q{Trying rule: [separator]},
13157             Parse::RecDescent::_tracefirst($_[1]),
13158             q{separator},
13159             $tracelevel)
13160             if defined $::RD_TRACE;
13161              
13162            
13163 910         1798 my $err_at = @{$thisparser->{errors}};
  910         2338  
13164              
13165 910         1221 my $score;
13166             my $score_return;
13167 0         0 my $_tok;
13168 910         1383 my $return = undef;
13169 910         1105 my $_matched=0;
13170 910         1277 my $commit=0;
13171 910         1608 my @item = ();
13172 910         2533 my %item = ();
13173 910         2122 my $repeating = $_[2];
13174 910         1064 my $_noactions = $_[3];
13175 910 50       1817 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  910         12380  
  910         1828  
13176 910         1318 my $_itempos = $_[5];
13177 910 100       3936 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
13178 910         16535 my $text;
13179             my $lastsep;
13180 0         0 my $current_match;
13181 910         4206 my $expectation = new Parse::RecDescent::Expectation(q{/\\/+/});
13182 910         8840 $expectation->at($_[1]);
13183            
13184 910         3906 my $thisline;
13185 910         4407 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
13186              
13187            
13188              
13189 910   33     26630 while (!$_matched && !$commit)
13190             {
13191            
13192 910 50       1957 Parse::RecDescent::_trace(q{Trying production: [/\\/+/]},
13193             Parse::RecDescent::_tracefirst($_[1]),
13194             q{separator},
13195             $tracelevel)
13196             if defined $::RD_TRACE;
13197 910         2328 my $thisprod = $thisrule->{"prods"}[0];
13198 910         1604 $text = $_[1];
13199 910         1033 my $_savetext;
13200 910         1719 @item = (q{separator});
13201 910         2036 %item = (__RULE__ => q{separator});
13202 910         1396 my $repcount = 0;
13203              
13204              
13205 910 50       1966 Parse::RecDescent::_trace(q{Trying terminal: [/\\/+/]}, Parse::RecDescent::_tracefirst($text),
13206             q{separator},
13207             $tracelevel)
13208             if defined $::RD_TRACE;
13209 910         2029 undef $lastsep;
13210 910         2714 $expectation->is(q{})->at($text);
13211            
13212              
13213 910 50 66     13814 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\/+)/)
  910 100       20021  
13214             {
13215 844 50       2622 $text = $lastsep . $text if defined $lastsep;
13216 844         3554 $expectation->failed();
13217 844 50       4064 Parse::RecDescent::_trace(q{<>},
13218             Parse::RecDescent::_tracefirst($text))
13219             if defined $::RD_TRACE;
13220              
13221 844         2209 last;
13222             }
13223 66         376 $current_match = substr($text, $-[0], $+[0] - $-[0]);
13224 66         266 substr($text,0,length($current_match),q{});
13225 66 50       188 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
13226             . $current_match . q{])},
13227             Parse::RecDescent::_tracefirst($text))
13228             if defined $::RD_TRACE;
13229 66         182 push @item, $item{__PATTERN1__}=$current_match;
13230            
13231              
13232 66 50       166 Parse::RecDescent::_trace(q{>>Matched production: [/\\/+/]<<},
13233             Parse::RecDescent::_tracefirst($text),
13234             q{separator},
13235             $tracelevel)
13236             if defined $::RD_TRACE;
13237              
13238              
13239              
13240 66         100 $_matched = 1;
13241 66         136 last;
13242             }
13243              
13244              
13245 910 100 66     6641 unless ( $_matched || defined($score) )
13246             {
13247            
13248              
13249 844         1453 $_[1] = $text; # NOT SURE THIS IS NEEDED
13250 844 50       1785 Parse::RecDescent::_trace(q{<>},
13251             Parse::RecDescent::_tracefirst($_[1]),
13252             q{separator},
13253             $tracelevel)
13254             if defined $::RD_TRACE;
13255 844         11608 return undef;
13256             }
13257 66 50 33     444 if (!defined($return) && defined($score))
13258             {
13259 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
13260             q{separator},
13261             $tracelevel)
13262             if defined $::RD_TRACE;
13263 0         0 $return = $score_return;
13264             }
13265 66         94 splice @{$thisparser->{errors}}, $err_at;
  66         176  
13266 66 50       235 $return = $item[$#item] unless defined $return;
13267 66 50       181 if (defined $::RD_TRACE)
13268             {
13269 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
13270             $return . q{])}, "",
13271             q{separator},
13272             $tracelevel);
13273 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
13274             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
13275             Parse::RecDescent::_tracefirst($text),
13276             , q{separator},
13277             $tracelevel)
13278             }
13279 66         125 $_[1] = $text;
13280 66         760 return $return;
13281             }
13282              
13283             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
13284             sub Parse::RecDescent::Config::Maker::Grammar::optpath
13285             {
13286 33     33   62 my $thisparser = $_[0];
13287 9     9   70 use vars q{$tracelevel};
  9         28  
  9         8880  
13288 33   50     125 local $tracelevel = ($tracelevel||0)+1;
13289 33         51 $ERRORS = 0;
13290 33         108 my $thisrule = $thisparser->{"rules"}{"optpath"};
13291              
13292 33 50       93 Parse::RecDescent::_trace(q{Trying rule: [optpath]},
13293             Parse::RecDescent::_tracefirst($_[1]),
13294             q{optpath},
13295             $tracelevel)
13296             if defined $::RD_TRACE;
13297              
13298            
13299 33         49 my $err_at = @{$thisparser->{errors}};
  33         74  
13300              
13301 33         122 my $score;
13302             my $score_return;
13303 0         0 my $_tok;
13304 33         68 my $return = undef;
13305 33         54 my $_matched=0;
13306 33         50 my $commit=0;
13307 33         85 my @item = ();
13308 33         72 my %item = ();
13309 33         51 my $repeating = $_[2];
13310 33         54 my $_noactions = $_[3];
13311 33 50       94 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  33         76  
  33         82  
13312 33         68 my $_itempos = $_[5];
13313 33 50       107 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
13314 33         77 my $text;
13315             my $lastsep;
13316 0         0 my $current_match;
13317 33         151 my $expectation = new Parse::RecDescent::Expectation(q{':'});
13318 33         358 $expectation->at($_[1]);
13319            
13320 33         151 my $thisline;
13321 33         158 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
13322              
13323            
13324              
13325 33   33     455 while (!$_matched && !$commit)
13326             {
13327            
13328 33 50       101 Parse::RecDescent::_trace(q{Trying production: [':' path]},
13329             Parse::RecDescent::_tracefirst($_[1]),
13330             q{optpath},
13331             $tracelevel)
13332             if defined $::RD_TRACE;
13333 33         117 my $thisprod = $thisrule->{"prods"}[0];
13334 33         67 $text = $_[1];
13335 33         60 my $_savetext;
13336 33         7114 @item = (q{optpath});
13337 33         109 %item = (__RULE__ => q{optpath});
13338 33         55 my $repcount = 0;
13339              
13340              
13341 33 50       109 Parse::RecDescent::_trace(q{Trying terminal: [':']},
13342             Parse::RecDescent::_tracefirst($text),
13343             q{optpath},
13344             $tracelevel)
13345             if defined $::RD_TRACE;
13346 33         99 undef $lastsep;
13347 33         134 $expectation->is(q{})->at($text);
13348            
13349              
13350 33 100 66     505 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\:/)
  33 100       418  
13351             {
13352 29 50       170 $text = $lastsep . $text if defined $lastsep;
13353            
13354 29         121 $expectation->failed();
13355 29 50       205 Parse::RecDescent::_trace(qq{<>},
13356             Parse::RecDescent::_tracefirst($text))
13357             if defined $::RD_TRACE;
13358 29         88 last;
13359             }
13360 4         29 $current_match = substr($text, $-[0], $+[0] - $-[0]);
13361 4         18 substr($text,0,length($current_match),q{});
13362 4 50       18 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
13363             . $current_match . q{])},
13364             Parse::RecDescent::_tracefirst($text))
13365             if defined $::RD_TRACE;
13366 4         11 push @item, $item{__STRING1__}=$current_match;
13367            
13368              
13369 4 50       16 Parse::RecDescent::_trace(q{Trying subrule: [path]},
13370             Parse::RecDescent::_tracefirst($text),
13371             q{optpath},
13372             $tracelevel)
13373             if defined $::RD_TRACE;
13374 9     9   62 if (1) { no strict qw{refs};
  9         25  
  9         10004  
  4         6  
13375 4         20 $expectation->is(q{path})->at($text);
13376 4 50   4   52 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::path($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  4         11  
13377             {
13378            
13379 0 0       0 Parse::RecDescent::_trace(q{<>},
13380             Parse::RecDescent::_tracefirst($text),
13381             q{optpath},
13382             $tracelevel)
13383             if defined $::RD_TRACE;
13384 0         0 $expectation->failed();
13385 0         0 last;
13386             }
13387 4 50       24 Parse::RecDescent::_trace(q{>>Matched subrule: [path]<< (return value: [}
13388             . $_tok . q{]},
13389              
13390             Parse::RecDescent::_tracefirst($text),
13391             q{optpath},
13392             $tracelevel)
13393             if defined $::RD_TRACE;
13394 4         13 $item{q{path}} = $_tok;
13395 4         10 push @item, $_tok;
13396            
13397             }
13398              
13399 4 50       15 Parse::RecDescent::_trace(q{>>Matched production: [':' path]<<},
13400             Parse::RecDescent::_tracefirst($text),
13401             q{optpath},
13402             $tracelevel)
13403             if defined $::RD_TRACE;
13404              
13405              
13406              
13407 4         6 $_matched = 1;
13408 4         13 last;
13409             }
13410              
13411              
13412 33   66     182 while (!$_matched && !$commit)
13413             {
13414            
13415 29 50       77 Parse::RecDescent::_trace(q{Trying production: []},
13416             Parse::RecDescent::_tracefirst($_[1]),
13417             q{optpath},
13418             $tracelevel)
13419             if defined $::RD_TRACE;
13420 29         99 my $thisprod = $thisrule->{"prods"}[1];
13421 29         55 $text = $_[1];
13422 29         43 my $_savetext;
13423 29         74 @item = (q{optpath});
13424 29         89 %item = (__RULE__ => q{optpath});
13425 29         46 my $repcount = 0;
13426              
13427              
13428 29 50       105 Parse::RecDescent::_trace(q{Trying action},
13429             Parse::RecDescent::_tracefirst($text),
13430             q{optpath},
13431             $tracelevel)
13432             if defined $::RD_TRACE;
13433            
13434              
13435 29 50       72 $_tok = ($_noactions) ? 0 : do { new Config::Maker::Path::This(); };
  29         300  
13436 29 50       116 unless (defined $_tok)
13437             {
13438 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
13439             if defined $::RD_TRACE;
13440 0         0 last;
13441             }
13442 29 50       80 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
13443             . $_tok . q{])},
13444             Parse::RecDescent::_tracefirst($text))
13445             if defined $::RD_TRACE;
13446 29         60 push @item, $_tok;
13447 29         70 $item{__ACTION1__}=$_tok;
13448            
13449              
13450 29 50       81 Parse::RecDescent::_trace(q{>>Matched production: []<<},
13451             Parse::RecDescent::_tracefirst($text),
13452             q{optpath},
13453             $tracelevel)
13454             if defined $::RD_TRACE;
13455              
13456              
13457              
13458 29         46 $_matched = 1;
13459 29         57 last;
13460             }
13461              
13462              
13463 33 50 33     169 unless ( $_matched || defined($score) )
13464             {
13465            
13466              
13467 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
13468 0 0       0 Parse::RecDescent::_trace(q{<>},
13469             Parse::RecDescent::_tracefirst($_[1]),
13470             q{optpath},
13471             $tracelevel)
13472             if defined $::RD_TRACE;
13473 0         0 return undef;
13474             }
13475 33 50 33     186 if (!defined($return) && defined($score))
13476             {
13477 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
13478             q{optpath},
13479             $tracelevel)
13480             if defined $::RD_TRACE;
13481 0         0 $return = $score_return;
13482             }
13483 33         46 splice @{$thisparser->{errors}}, $err_at;
  33         89  
13484 33 50       112 $return = $item[$#item] unless defined $return;
13485 33 50       111 if (defined $::RD_TRACE)
13486             {
13487 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
13488             $return . q{])}, "",
13489             q{optpath},
13490             $tracelevel);
13491 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
13492             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
13493             Parse::RecDescent::_tracefirst($text),
13494             , q{optpath},
13495             $tracelevel)
13496             }
13497 33         84 $_[1] = $text;
13498 33         309 return $return;
13499             }
13500              
13501             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
13502             sub Parse::RecDescent::Config::Maker::Grammar::value_void
13503             {
13504 13     13   35 my $thisparser = $_[0];
13505 9     9   933 use vars q{$tracelevel};
  9         21  
  9         7675  
13506 13   50     65 local $tracelevel = ($tracelevel||0)+1;
13507 13         25 $ERRORS = 0;
13508 13         41 my $thisrule = $thisparser->{"rules"}{"value_void"};
13509              
13510 13 50       44 Parse::RecDescent::_trace(q{Trying rule: [value_void]},
13511             Parse::RecDescent::_tracefirst($_[1]),
13512             q{value_void},
13513             $tracelevel)
13514             if defined $::RD_TRACE;
13515              
13516            
13517 13         20 my $err_at = @{$thisparser->{errors}};
  13         53  
13518              
13519 13         45 my $score;
13520             my $score_return;
13521 0         0 my $_tok;
13522 13         24 my $return = undef;
13523 13         28 my $_matched=0;
13524 13         37 my $commit=0;
13525 13         27 my @item = ();
13526 13         33 my %item = ();
13527 13         24 my $repeating = $_[2];
13528 13         27 my $_noactions = $_[3];
13529 13 50       50 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  13         26  
  13         43  
13530 13         34 my $_itempos = $_[5];
13531 13 50       54 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
13532 13         25 my $text;
13533             my $lastsep;
13534 0         0 my $current_match;
13535 13         67 my $expectation = new Parse::RecDescent::Expectation(q{});
13536 13         132 $expectation->at($_[1]);
13537            
13538 13         58 my $thisline;
13539 13         67 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
13540              
13541            
13542              
13543 13   33     159 while (!$_matched && !$commit)
13544             {
13545            
13546 13 50       62 Parse::RecDescent::_trace(q{Trying production: []},
13547             Parse::RecDescent::_tracefirst($_[1]),
13548             q{value_void},
13549             $tracelevel)
13550             if defined $::RD_TRACE;
13551 13         43 my $thisprod = $thisrule->{"prods"}[0];
13552 13         28 $text = $_[1];
13553 13         25 my $_savetext;
13554 13         35 @item = (q{value_void});
13555 13         37 %item = (__RULE__ => q{value_void});
13556 13         21 my $repcount = 0;
13557              
13558              
13559 13 50       40 Parse::RecDescent::_trace(q{>>Matched production: []<<},
13560             Parse::RecDescent::_tracefirst($text),
13561             q{value_void},
13562             $tracelevel)
13563             if defined $::RD_TRACE;
13564              
13565              
13566              
13567 13         22 $_matched = 1;
13568 13         30 last;
13569             }
13570              
13571              
13572 13 50 33     48 unless ( $_matched || defined($score) )
13573             {
13574            
13575              
13576 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
13577 0 0       0 Parse::RecDescent::_trace(q{<>},
13578             Parse::RecDescent::_tracefirst($_[1]),
13579             q{value_void},
13580             $tracelevel)
13581             if defined $::RD_TRACE;
13582 0         0 return undef;
13583             }
13584 13 50 33     99 if (!defined($return) && defined($score))
13585             {
13586 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
13587             q{value_void},
13588             $tracelevel)
13589             if defined $::RD_TRACE;
13590 0         0 $return = $score_return;
13591             }
13592 13         21 splice @{$thisparser->{errors}}, $err_at;
  13         32  
13593 13 50       56 $return = $item[$#item] unless defined $return;
13594 13 50       53 if (defined $::RD_TRACE)
13595             {
13596 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
13597             $return . q{])}, "",
13598             q{value_void},
13599             $tracelevel);
13600 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
13601             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
13602             Parse::RecDescent::_tracefirst($text),
13603             , q{value_void},
13604             $tracelevel)
13605             }
13606 13         32 $_[1] = $text;
13607 13         108 return $return;
13608             }
13609              
13610             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
13611             sub Parse::RecDescent::Config::Maker::Grammar::nonglob
13612             {
13613 961     961   2230 my $thisparser = $_[0];
13614 9     9   58 use vars q{$tracelevel};
  9         14  
  9         9431  
13615 961   50     2591 local $tracelevel = ($tracelevel||0)+1;
13616 961         1343 $ERRORS = 0;
13617 961         2772 my $thisrule = $thisparser->{"rules"}{"nonglob"};
13618              
13619 961 50       2034 Parse::RecDescent::_trace(q{Trying rule: [nonglob]},
13620             Parse::RecDescent::_tracefirst($_[1]),
13621             q{nonglob},
13622             $tracelevel)
13623             if defined $::RD_TRACE;
13624              
13625            
13626 961         1104 my $err_at = @{$thisparser->{errors}};
  961         1878  
13627              
13628 961         1245 my $score;
13629             my $score_return;
13630 0         0 my $_tok;
13631 961         1117 my $return = undef;
13632 961         2239 my $_matched=0;
13633 961         1498 my $commit=0;
13634 961         1388 my @item = ();
13635 961         1738 my %item = ();
13636 961         1107 my $repeating = $_[2];
13637 961         1075 my $_noactions = $_[3];
13638 961 50       2243 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  961         1288  
  961         2172  
13639 961         1859 my $_itempos = $_[5];
13640 961 50       3771 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
13641 961         1918 my $text;
13642             my $lastsep;
13643 0         0 my $current_match;
13644 961         3343 my $expectation = new Parse::RecDescent::Expectation(q{/\\Q$arg[0]\\E(?![[:alnum:].@%*=?|_\\\\\\[\\]\{\}-])/});
13645 961         10731 $expectation->at($_[1]);
13646            
13647 961         4613 my $thisline;
13648 961         6009 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
13649              
13650            
13651              
13652 961   33     11416 while (!$_matched && !$commit)
13653             {
13654            
13655 961 50       2119 Parse::RecDescent::_trace(q{Trying production: [/\\Q$arg[0]\\E(?![[:alnum:].@%*=?|_\\\\\\[\\]\{\}-])/]},
13656             Parse::RecDescent::_tracefirst($_[1]),
13657             q{nonglob},
13658             $tracelevel)
13659             if defined $::RD_TRACE;
13660 961         5232 my $thisprod = $thisrule->{"prods"}[0];
13661 961         1428 $text = $_[1];
13662 961         1246 my $_savetext;
13663 961         2049 @item = (q{nonglob});
13664 961         1933 %item = (__RULE__ => q{nonglob});
13665 961         1499 my $repcount = 0;
13666              
13667              
13668 961 50       2521 Parse::RecDescent::_trace(q{Trying terminal: [/\\Q$arg[0]\\E(?![[:alnum:].@%*=?|_\\\\\\[\\]\{\}-])/]}, Parse::RecDescent::_tracefirst($text),
13669             q{nonglob},
13670             $tracelevel)
13671             if defined $::RD_TRACE;
13672 961         2331 undef $lastsep;
13673 961         2695 $expectation->is(q{})->at($text);
13674            
13675              
13676 961 50 66     12556 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:\Q$arg[0]\E(?![[:alnum:].@%*=?|_\\\[\]{}-]))/)
  961 100       73646  
13677             {
13678 949 50       3011 $text = $lastsep . $text if defined $lastsep;
13679 949         3583 $expectation->failed();
13680 949 50       5171 Parse::RecDescent::_trace(q{<>},
13681             Parse::RecDescent::_tracefirst($text))
13682             if defined $::RD_TRACE;
13683              
13684 949         3468 last;
13685             }
13686 12         87 $current_match = substr($text, $-[0], $+[0] - $-[0]);
13687 12         54 substr($text,0,length($current_match),q{});
13688 12 50       56 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
13689             . $current_match . q{])},
13690             Parse::RecDescent::_tracefirst($text))
13691             if defined $::RD_TRACE;
13692 12         46 push @item, $item{__PATTERN1__}=$current_match;
13693            
13694              
13695 12 50       47 Parse::RecDescent::_trace(q{>>Matched production: [/\\Q$arg[0]\\E(?![[:alnum:].@%*=?|_\\\\\\[\\]\{\}-])/]<<},
13696             Parse::RecDescent::_tracefirst($text),
13697             q{nonglob},
13698             $tracelevel)
13699             if defined $::RD_TRACE;
13700              
13701              
13702              
13703 12         24 $_matched = 1;
13704 12         33 last;
13705             }
13706              
13707              
13708 961 100 66     6954 unless ( $_matched || defined($score) )
13709             {
13710            
13711              
13712 949         2020 $_[1] = $text; # NOT SURE THIS IS NEEDED
13713 949 50       2802 Parse::RecDescent::_trace(q{<>},
13714             Parse::RecDescent::_tracefirst($_[1]),
13715             q{nonglob},
13716             $tracelevel)
13717             if defined $::RD_TRACE;
13718 949         9781 return undef;
13719             }
13720 12 50 33     86 if (!defined($return) && defined($score))
13721             {
13722 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
13723             q{nonglob},
13724             $tracelevel)
13725             if defined $::RD_TRACE;
13726 0         0 $return = $score_return;
13727             }
13728 12         23 splice @{$thisparser->{errors}}, $err_at;
  12         74  
13729 12 50       53 $return = $item[$#item] unless defined $return;
13730 12 50       46 if (defined $::RD_TRACE)
13731             {
13732 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
13733             $return . q{])}, "",
13734             q{nonglob},
13735             $tracelevel);
13736 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
13737             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
13738             Parse::RecDescent::_tracefirst($text),
13739             , q{nonglob},
13740             $tracelevel)
13741             }
13742 12         27 $_[1] = $text;
13743 12         119 return $return;
13744             }
13745              
13746             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
13747             sub Parse::RecDescent::Config::Maker::Grammar::glob
13748             {
13749 632     632   1492 my $thisparser = $_[0];
13750 9     9   58 use vars q{$tracelevel};
  9         38  
  9         19486  
13751 632   50     1978 local $tracelevel = ($tracelevel||0)+1;
13752 632         787 $ERRORS = 0;
13753 632         1538 my $thisrule = $thisparser->{"rules"}{"glob"};
13754              
13755 632 50       4016 Parse::RecDescent::_trace(q{Trying rule: [glob]},
13756             Parse::RecDescent::_tracefirst($_[1]),
13757             q{glob},
13758             $tracelevel)
13759             if defined $::RD_TRACE;
13760              
13761            
13762 632         788 my $err_at = @{$thisparser->{errors}};
  632         1260  
13763              
13764 632         2104 my $score;
13765             my $score_return;
13766 0         0 my $_tok;
13767 632         1392 my $return = undef;
13768 632         693 my $_matched=0;
13769 632         713 my $commit=0;
13770 632         941 my @item = ();
13771 632         1034 my %item = ();
13772 632         1034 my $repeating = $_[2];
13773 632         733 my $_noactions = $_[3];
13774 632 50       1341 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  632         755  
  632         1385  
13775 632         1599 my $_itempos = $_[5];
13776 632 100       1804 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
13777 632         871 my $text;
13778             my $lastsep;
13779 0         0 my $current_match;
13780 632         2361 my $expectation = new Parse::RecDescent::Expectation(q{/([[:alnum:].@%*=?|_\\[\\]\{\}-]|\\\\.)+/});
13781 632         6047 $expectation->at($_[1]);
13782            
13783 632         2995 my $thisline;
13784 632         3420 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
13785              
13786            
13787              
13788 632   33     7018 while (!$_matched && !$commit)
13789             {
13790            
13791 632 50       1859 Parse::RecDescent::_trace(q{Trying production: [/([[:alnum:].@%*=?|_\\[\\]\{\}-]|\\\\.)+/]},
13792             Parse::RecDescent::_tracefirst($_[1]),
13793             q{glob},
13794             $tracelevel)
13795             if defined $::RD_TRACE;
13796 632         1442 my $thisprod = $thisrule->{"prods"}[0];
13797 632         935 $text = $_[1];
13798 632         724 my $_savetext;
13799 632         1265 @item = (q{glob});
13800 632         2361 %item = (__RULE__ => q{glob});
13801 632         777 my $repcount = 0;
13802              
13803              
13804 632 50       1272 Parse::RecDescent::_trace(q{Trying terminal: [/([[:alnum:].@%*=?|_\\[\\]\{\}-]|\\\\.)+/]}, Parse::RecDescent::_tracefirst($text),
13805             q{glob},
13806             $tracelevel)
13807             if defined $::RD_TRACE;
13808 632         1222 undef $lastsep;
13809 632         1979 $expectation->is(q{})->at($text);
13810            
13811              
13812 632 50 66     30580 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:([[:alnum:].@%*=?|_\[\]{}-]|\\.)+)/)
  632 100       8403  
13813             {
13814 40 50       209 $text = $lastsep . $text if defined $lastsep;
13815 40         137 $expectation->failed();
13816 40 50       190 Parse::RecDescent::_trace(q{<>},
13817             Parse::RecDescent::_tracefirst($text))
13818             if defined $::RD_TRACE;
13819              
13820 40         90 last;
13821             }
13822 592         4494 $current_match = substr($text, $-[0], $+[0] - $-[0]);
13823 592         2063 substr($text,0,length($current_match),q{});
13824 592 50       1347 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
13825             . $current_match . q{])},
13826             Parse::RecDescent::_tracefirst($text))
13827             if defined $::RD_TRACE;
13828 592         2505 push @item, $item{__PATTERN1__}=$current_match;
13829            
13830              
13831 592 50       1276 Parse::RecDescent::_trace(q{>>Matched production: [/([[:alnum:].@%*=?|_\\[\\]\{\}-]|\\\\.)+/]<<},
13832             Parse::RecDescent::_tracefirst($text),
13833             q{glob},
13834             $tracelevel)
13835             if defined $::RD_TRACE;
13836              
13837              
13838              
13839 592         722 $_matched = 1;
13840 592         1507 last;
13841             }
13842              
13843              
13844 632 100 66     1823 unless ( $_matched || defined($score) )
13845             {
13846            
13847              
13848 40         71 $_[1] = $text; # NOT SURE THIS IS NEEDED
13849 40 50       95 Parse::RecDescent::_trace(q{<>},
13850             Parse::RecDescent::_tracefirst($_[1]),
13851             q{glob},
13852             $tracelevel)
13853             if defined $::RD_TRACE;
13854 40         302 return undef;
13855             }
13856 592 50 33     3288 if (!defined($return) && defined($score))
13857             {
13858 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
13859             q{glob},
13860             $tracelevel)
13861             if defined $::RD_TRACE;
13862 0         0 $return = $score_return;
13863             }
13864 592         767 splice @{$thisparser->{errors}}, $err_at;
  592         1917  
13865 592 50       16835 $return = $item[$#item] unless defined $return;
13866 592 50       1482 if (defined $::RD_TRACE)
13867             {
13868 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
13869             $return . q{])}, "",
13870             q{glob},
13871             $tracelevel);
13872 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
13873             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
13874             Parse::RecDescent::_tracefirst($text),
13875             , q{glob},
13876             $tracelevel)
13877             }
13878 592         1032 $_[1] = $text;
13879 592         5172 return $return;
13880             }
13881              
13882             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
13883             sub Parse::RecDescent::Config::Maker::Grammar::body_anon_group
13884             {
13885 52     52   120 my $thisparser = $_[0];
13886 9     9   534 use vars q{$tracelevel};
  9         23  
  9         3852  
13887 52   50     204 local $tracelevel = ($tracelevel||0)+1;
13888 52         178 $ERRORS = 0;
13889 52         176 my $thisrule = $thisparser->{"rules"}{"body_anon_group"};
13890              
13891 52 50       147 Parse::RecDescent::_trace(q{Trying rule: [body_anon_group]},
13892             Parse::RecDescent::_tracefirst($_[1]),
13893             q{body_anon_group},
13894             $tracelevel)
13895             if defined $::RD_TRACE;
13896              
13897            
13898 52         1041 my $err_at = @{$thisparser->{errors}};
  52         128  
13899              
13900 52         118 my $score;
13901             my $score_return;
13902 0         0 my $_tok;
13903 52         83 my $return = undef;
13904 52         98 my $_matched=0;
13905 52         76 my $commit=0;
13906 52         108 my @item = ();
13907 52         113 my %item = ();
13908 52         100 my $repeating = $_[2];
13909 52         77 my $_noactions = $_[3];
13910 52 50       169 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  52         159  
  52         175  
13911 52         118 my $_itempos = $_[5];
13912 52 100       321 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
13913 52         119 my $text;
13914             my $lastsep;
13915 0         0 my $current_match;
13916 52         238 my $expectation = new Parse::RecDescent::Expectation(q{block});
13917 52         547 $expectation->at($_[1]);
13918            
13919 52         237 my $thisline;
13920 52         275 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
13921              
13922            
13923              
13924 52   33     866 while (!$_matched && !$commit)
13925             {
13926            
13927 52 50       150 Parse::RecDescent::_trace(q{Trying production: [block]},
13928             Parse::RecDescent::_tracefirst($_[1]),
13929             q{body_anon_group},
13930             $tracelevel)
13931             if defined $::RD_TRACE;
13932 52         172 my $thisprod = $thisrule->{"prods"}[0];
13933 52         126 $text = $_[1];
13934 52         74 my $_savetext;
13935 52         138 @item = (q{body_anon_group});
13936 52         141 %item = (__RULE__ => q{body_anon_group});
13937 52         107 my $repcount = 0;
13938              
13939              
13940 52 50       193 Parse::RecDescent::_trace(q{Trying subrule: [block]},
13941             Parse::RecDescent::_tracefirst($text),
13942             q{body_anon_group},
13943             $tracelevel)
13944             if defined $::RD_TRACE;
13945 9     9   785 if (1) { no strict qw{refs};
  9         24  
  9         15577  
  52         85  
13946 52         213 $expectation->is(q{})->at($text);
13947 52 50   52   22686 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::block($thisparser,$text,$repeating,$_noactions,sub { return [$arg[0]] },undef)))
  52         245  
13948             {
13949            
13950 0 0       0 Parse::RecDescent::_trace(q{<>},
13951             Parse::RecDescent::_tracefirst($text),
13952             q{body_anon_group},
13953             $tracelevel)
13954             if defined $::RD_TRACE;
13955 0         0 $expectation->failed();
13956 0         0 last;
13957             }
13958 52 50       372 Parse::RecDescent::_trace(q{>>Matched subrule: [block]<< (return value: [}
13959             . $_tok . q{]},
13960              
13961             Parse::RecDescent::_tracefirst($text),
13962             q{body_anon_group},
13963             $tracelevel)
13964             if defined $::RD_TRACE;
13965 52         169 $item{q{block}} = $_tok;
13966 52         147 push @item, $_tok;
13967            
13968             }
13969              
13970 52 50       162 Parse::RecDescent::_trace(q{Trying action},
13971             Parse::RecDescent::_tracefirst($text),
13972             q{body_anon_group},
13973             $tracelevel)
13974             if defined $::RD_TRACE;
13975            
13976              
13977 52 50       154 $_tok = ($_noactions) ? 0 : do { +{ -children => $item[1] }; };
  52         227  
13978 52 50       196 unless (defined $_tok)
13979             {
13980 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
13981             if defined $::RD_TRACE;
13982 0         0 last;
13983             }
13984 52 50       177 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
13985             . $_tok . q{])},
13986             Parse::RecDescent::_tracefirst($text))
13987             if defined $::RD_TRACE;
13988 52         126 push @item, $_tok;
13989 52         126 $item{__ACTION1__}=$_tok;
13990            
13991              
13992 52 50       181 Parse::RecDescent::_trace(q{>>Matched production: [block]<<},
13993             Parse::RecDescent::_tracefirst($text),
13994             q{body_anon_group},
13995             $tracelevel)
13996             if defined $::RD_TRACE;
13997              
13998              
13999              
14000 52         115 $_matched = 1;
14001 52         206 last;
14002             }
14003              
14004              
14005 52         229 while (!$_matched)
14006             {
14007            
14008 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
14009             Parse::RecDescent::_tracefirst($_[1]),
14010             q{body_anon_group},
14011             $tracelevel)
14012             if defined $::RD_TRACE;
14013 0         0 my $thisprod = $thisrule->{"prods"}[1];
14014            
14015 0         0 my $_savetext;
14016 0         0 @item = (q{body_anon_group});
14017 0         0 %item = (__RULE__ => q{body_anon_group});
14018 0         0 my $repcount = 0;
14019              
14020              
14021            
14022              
14023 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
14024             Parse::RecDescent::_tracefirst($text),
14025             q{body_anon_group},
14026             $tracelevel)
14027             if defined $::RD_TRACE;
14028 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
14029 0         0 my $rule = $item[0];
14030 0         0 $rule =~ s/_/ /g;
14031             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
14032 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
14033 0         0 } unless $_noactions; undef } else {0} };
14034 0 0       0 if (defined($_tok))
14035             {
14036 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
14037             . $_tok . q{])},
14038             Parse::RecDescent::_tracefirst($text))
14039             if defined $::RD_TRACE;
14040             }
14041             else
14042             {
14043 0 0       0 Parse::RecDescent::_trace(q{<>},
14044             Parse::RecDescent::_tracefirst($text))
14045             if defined $::RD_TRACE;
14046             }
14047            
14048 0 0       0 last unless defined $_tok;
14049 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
14050            
14051              
14052 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
14053             Parse::RecDescent::_tracefirst($text),
14054             q{body_anon_group},
14055             $tracelevel)
14056             if defined $::RD_TRACE;
14057              
14058              
14059              
14060 0         0 $_matched = 1;
14061 0         0 last;
14062             }
14063              
14064              
14065 52 50 33     226 unless ( $_matched || defined($score) )
14066             {
14067            
14068              
14069 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
14070 0 0       0 Parse::RecDescent::_trace(q{<>},
14071             Parse::RecDescent::_tracefirst($_[1]),
14072             q{body_anon_group},
14073             $tracelevel)
14074             if defined $::RD_TRACE;
14075 0         0 return undef;
14076             }
14077 52 50 33     397 if (!defined($return) && defined($score))
14078             {
14079 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
14080             q{body_anon_group},
14081             $tracelevel)
14082             if defined $::RD_TRACE;
14083 0         0 $return = $score_return;
14084             }
14085 52         113 splice @{$thisparser->{errors}}, $err_at;
  52         154  
14086 52 50       220 $return = $item[$#item] unless defined $return;
14087 52 50       199 if (defined $::RD_TRACE)
14088             {
14089 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
14090             $return . q{])}, "",
14091             q{body_anon_group},
14092             $tracelevel);
14093 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
14094             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
14095             Parse::RecDescent::_tracefirst($text),
14096             , q{body_anon_group},
14097             $tracelevel)
14098             }
14099 52         131 $_[1] = $text;
14100 52         593 return $return;
14101             }
14102              
14103             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
14104             sub Parse::RecDescent::Config::Maker::Grammar::octint
14105             {
14106 0     0   0 my $thisparser = $_[0];
14107 9     9   67 use vars q{$tracelevel};
  9         23  
  9         14996  
14108 0   0     0 local $tracelevel = ($tracelevel||0)+1;
14109 0         0 $ERRORS = 0;
14110 0         0 my $thisrule = $thisparser->{"rules"}{"octint"};
14111              
14112 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [octint]},
14113             Parse::RecDescent::_tracefirst($_[1]),
14114             q{octint},
14115             $tracelevel)
14116             if defined $::RD_TRACE;
14117              
14118            
14119 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
14120              
14121 0         0 my $score;
14122             my $score_return;
14123 0         0 my $_tok;
14124 0         0 my $return = undef;
14125 0         0 my $_matched=0;
14126 0         0 my $commit=0;
14127 0         0 my @item = ();
14128 0         0 my %item = ();
14129 0         0 my $repeating = $_[2];
14130 0         0 my $_noactions = $_[3];
14131 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
14132 0         0 my $_itempos = $_[5];
14133 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
14134 0         0 my $text;
14135             my $lastsep;
14136 0         0 my $current_match;
14137 0         0 my $expectation = new Parse::RecDescent::Expectation(q{/0[0-7]*/});
14138 0         0 $expectation->at($_[1]);
14139            
14140 0         0 my $thisline;
14141 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
14142              
14143            
14144              
14145 0   0     0 while (!$_matched && !$commit)
14146             {
14147            
14148 0 0       0 Parse::RecDescent::_trace(q{Trying production: [/0[0-7]*/]},
14149             Parse::RecDescent::_tracefirst($_[1]),
14150             q{octint},
14151             $tracelevel)
14152             if defined $::RD_TRACE;
14153 0         0 my $thisprod = $thisrule->{"prods"}[0];
14154 0         0 $text = $_[1];
14155 0         0 my $_savetext;
14156 0         0 @item = (q{octint});
14157 0         0 %item = (__RULE__ => q{octint});
14158 0         0 my $repcount = 0;
14159              
14160              
14161 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [/0[0-7]*/]}, Parse::RecDescent::_tracefirst($text),
14162             q{octint},
14163             $tracelevel)
14164             if defined $::RD_TRACE;
14165 0         0 undef $lastsep;
14166 0         0 $expectation->is(q{})->at($text);
14167            
14168              
14169 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A(?:0[0-7]*)/)
  0 0       0  
14170             {
14171 0 0       0 $text = $lastsep . $text if defined $lastsep;
14172 0         0 $expectation->failed();
14173 0 0       0 Parse::RecDescent::_trace(q{<>},
14174             Parse::RecDescent::_tracefirst($text))
14175             if defined $::RD_TRACE;
14176              
14177 0         0 last;
14178             }
14179 0         0 $current_match = substr($text, $-[0], $+[0] - $-[0]);
14180 0         0 substr($text,0,length($current_match),q{});
14181 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
14182             . $current_match . q{])},
14183             Parse::RecDescent::_tracefirst($text))
14184             if defined $::RD_TRACE;
14185 0         0 push @item, $item{__PATTERN1__}=$current_match;
14186            
14187              
14188 0 0       0 Parse::RecDescent::_trace(q{Trying action},
14189             Parse::RecDescent::_tracefirst($text),
14190             q{octint},
14191             $tracelevel)
14192             if defined $::RD_TRACE;
14193            
14194              
14195 0 0       0 $_tok = ($_noactions) ? 0 : do { Config::Maker::limit(oct($item[1]), @arg); };
  0         0  
14196 0 0       0 unless (defined $_tok)
14197             {
14198 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
14199             if defined $::RD_TRACE;
14200 0         0 last;
14201             }
14202 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
14203             . $_tok . q{])},
14204             Parse::RecDescent::_tracefirst($text))
14205             if defined $::RD_TRACE;
14206 0         0 push @item, $_tok;
14207 0         0 $item{__ACTION1__}=$_tok;
14208            
14209              
14210 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [/0[0-7]*/]<<},
14211             Parse::RecDescent::_tracefirst($text),
14212             q{octint},
14213             $tracelevel)
14214             if defined $::RD_TRACE;
14215              
14216              
14217              
14218 0         0 $_matched = 1;
14219 0         0 last;
14220             }
14221              
14222              
14223 0         0 while (!$_matched)
14224             {
14225            
14226 0 0       0 Parse::RecDescent::_trace(q{Trying production: [ ]},
14227             Parse::RecDescent::_tracefirst($_[1]),
14228             q{octint},
14229             $tracelevel)
14230             if defined $::RD_TRACE;
14231 0         0 my $thisprod = $thisrule->{"prods"}[1];
14232            
14233 0         0 my $_savetext;
14234 0         0 @item = (q{octint});
14235 0         0 %item = (__RULE__ => q{octint});
14236 0         0 my $repcount = 0;
14237              
14238              
14239            
14240              
14241 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
14242             Parse::RecDescent::_tracefirst($text),
14243             q{octint},
14244             $tracelevel)
14245             if defined $::RD_TRACE;
14246 0 0       0 $_tok = do { if ($commit) { do {push @{$thisparser->{errors}}, [qq{ Number $item[1] out of range},$thisline];} unless $_noactions; undef } else {0} };
  0 0       0  
  0         0  
  0         0  
  0         0  
  0         0  
  0         0  
14247 0 0       0 if (defined($_tok))
14248             {
14249 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
14250             . $_tok . q{])},
14251             Parse::RecDescent::_tracefirst($text))
14252             if defined $::RD_TRACE;
14253             }
14254             else
14255             {
14256 0 0       0 Parse::RecDescent::_trace(q{<>},
14257             Parse::RecDescent::_tracefirst($text))
14258             if defined $::RD_TRACE;
14259             }
14260            
14261 0 0       0 last unless defined $_tok;
14262 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
14263            
14264              
14265 0 0       0 Parse::RecDescent::_trace(q{>>Rejecting production<< (found )},
14266             Parse::RecDescent::_tracefirst($text),
14267             q{octint},
14268             $tracelevel)
14269             if defined $::RD_TRACE;
14270 0         0 undef $return;
14271            
14272              
14273 0         0 $_tok = undef;
14274            
14275 0 0       0 last unless defined $_tok;
14276              
14277 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [ ]<<},
14278             Parse::RecDescent::_tracefirst($text),
14279             q{octint},
14280             $tracelevel)
14281             if defined $::RD_TRACE;
14282              
14283              
14284              
14285 0         0 $_matched = 1;
14286 0         0 last;
14287             }
14288              
14289              
14290 0 0 0     0 unless ( $_matched || defined($score) )
14291             {
14292            
14293              
14294 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
14295 0 0       0 Parse::RecDescent::_trace(q{<>},
14296             Parse::RecDescent::_tracefirst($_[1]),
14297             q{octint},
14298             $tracelevel)
14299             if defined $::RD_TRACE;
14300 0         0 return undef;
14301             }
14302 0 0 0     0 if (!defined($return) && defined($score))
14303             {
14304 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
14305             q{octint},
14306             $tracelevel)
14307             if defined $::RD_TRACE;
14308 0         0 $return = $score_return;
14309             }
14310 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
14311 0 0       0 $return = $item[$#item] unless defined $return;
14312 0 0       0 if (defined $::RD_TRACE)
14313             {
14314 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
14315             $return . q{])}, "",
14316             q{octint},
14317             $tracelevel);
14318 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
14319             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
14320             Parse::RecDescent::_tracefirst($text),
14321             , q{octint},
14322             $tracelevel)
14323             }
14324 0         0 $_[1] = $text;
14325 0         0 return $return;
14326             }
14327              
14328             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
14329             sub Parse::RecDescent::Config::Maker::Grammar::path
14330             {
14331 302     302   632 my $thisparser = $_[0];
14332 9     9   62 use vars q{$tracelevel};
  9         17  
  9         8921  
14333 302   50     1034 local $tracelevel = ($tracelevel||0)+1;
14334 302         683 $ERRORS = 0;
14335 302         812 my $thisrule = $thisparser->{"rules"}{"path"};
14336              
14337 302 50       856 Parse::RecDescent::_trace(q{Trying rule: [path]},
14338             Parse::RecDescent::_tracefirst($_[1]),
14339             q{path},
14340             $tracelevel)
14341             if defined $::RD_TRACE;
14342              
14343            
14344 302         511 my $err_at = @{$thisparser->{errors}};
  302         646  
14345              
14346 302         514 my $score;
14347             my $score_return;
14348 0         0 my $_tok;
14349 302         419 my $return = undef;
14350 302         485 my $_matched=0;
14351 302         395 my $commit=0;
14352 302         551 my @item = ();
14353 302         571 my %item = ();
14354 302         447 my $repeating = $_[2];
14355 302         431 my $_noactions = $_[3];
14356 302 50       727 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  302         401  
  302         1004  
14357 302         654 my $_itempos = $_[5];
14358 302 100       1101 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
14359 302         665 my $text;
14360             my $lastsep;
14361 0         0 my $current_match;
14362 302         1190 my $expectation = new Parse::RecDescent::Expectation(q{''});
14363 302         3431 $expectation->at($_[1]);
14364            
14365 302         1355 my $thisline;
14366 302         1473 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
14367              
14368            
14369              
14370 302   33     4061 while (!$_matched && !$commit)
14371             {
14372 302 50       872 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
14373 302 50       784 Parse::RecDescent::_trace(q{Trying production: ['' metaroot relpath]},
14374             Parse::RecDescent::_tracefirst($_[1]),
14375             q{path},
14376             $tracelevel)
14377             if defined $::RD_TRACE;
14378 302         812 my $thisprod = $thisrule->{"prods"}[0];
14379 302         563 $text = $_[1];
14380 302         379 my $_savetext;
14381 302         700 @item = (q{path});
14382 302         1274 %item = (__RULE__ => q{path});
14383 302         450 my $repcount = 0;
14384              
14385              
14386 302 50       668 Parse::RecDescent::_trace(q{Trying terminal: ['']},
14387             Parse::RecDescent::_tracefirst($text),
14388             q{path},
14389             $tracelevel)
14390             if defined $::RD_TRACE;
14391 302         472 undef $lastsep;
14392 302         1065 $expectation->is(q{})->at($text);
14393            
14394              
14395 302 100 33     4110 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A/)
  302 50       3484  
14396             {
14397 0 0       0 $text = $lastsep . $text if defined $lastsep;
14398            
14399 0         0 $expectation->failed();
14400 0 0       0 Parse::RecDescent::_trace(qq{<>},
14401             Parse::RecDescent::_tracefirst($text))
14402             if defined $::RD_TRACE;
14403 0         0 last;
14404             }
14405 302         1907 $current_match = substr($text, $-[0], $+[0] - $-[0]);
14406 302         1034 substr($text,0,length($current_match),q{});
14407 302 50       825 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
14408             . $current_match . q{])},
14409             Parse::RecDescent::_tracefirst($text))
14410             if defined $::RD_TRACE;
14411 302         1494 push @item, $item{__STRING1__}=$current_match;
14412            
14413              
14414            
14415              
14416 302 50       746 Parse::RecDescent::_trace(q{Trying directive: []},
14417             Parse::RecDescent::_tracefirst($text),
14418             q{path},
14419             $tracelevel)
14420             if defined $::RD_TRACE;
14421 302         692 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  302         502  
  302         460  
  302         589  
14422 302 50       668 if (defined($_tok))
14423             {
14424 302 50       775 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
14425             . $_tok . q{])},
14426             Parse::RecDescent::_tracefirst($text))
14427             if defined $::RD_TRACE;
14428             }
14429             else
14430             {
14431 0 0       0 Parse::RecDescent::_trace(q{<>},
14432             Parse::RecDescent::_tracefirst($text))
14433             if defined $::RD_TRACE;
14434             }
14435            
14436 302 50       815 last unless defined $_tok;
14437 302         796 push @item, $item{__DIRECTIVE1__}=$_tok;
14438            
14439              
14440 302 50       889 Parse::RecDescent::_trace(q{Trying subrule: [metaroot]},
14441             Parse::RecDescent::_tracefirst($text),
14442             q{path},
14443             $tracelevel)
14444             if defined $::RD_TRACE;
14445 9     9   67 if (1) { no strict qw{refs};
  9         19  
  9         2126  
  302         375  
14446 302         995 $expectation->is(q{metaroot})->at($text);
14447 302 50   302   6186 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::metaroot($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  302         825  
14448             {
14449            
14450 302 50       788 Parse::RecDescent::_trace(q{<>},
14451             Parse::RecDescent::_tracefirst($text),
14452             q{path},
14453             $tracelevel)
14454             if defined $::RD_TRACE;
14455 302         1083 $expectation->failed();
14456 302         3353 last;
14457             }
14458 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [metaroot]<< (return value: [}
14459             . $_tok . q{]},
14460              
14461             Parse::RecDescent::_tracefirst($text),
14462             q{path},
14463             $tracelevel)
14464             if defined $::RD_TRACE;
14465 0         0 $item{q{metaroot}} = $_tok;
14466 0         0 push @item, $_tok;
14467            
14468             }
14469              
14470 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [relpath]},
14471             Parse::RecDescent::_tracefirst($text),
14472             q{path},
14473             $tracelevel)
14474             if defined $::RD_TRACE;
14475 9     9   45 if (1) { no strict qw{refs};
  9         26  
  9         13552  
  0         0  
14476 0         0 $expectation->is(q{relpath})->at($text);
14477 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::relpath($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  0         0  
14478             {
14479            
14480 0 0       0 Parse::RecDescent::_trace(q{<>},
14481             Parse::RecDescent::_tracefirst($text),
14482             q{path},
14483             $tracelevel)
14484             if defined $::RD_TRACE;
14485 0         0 $expectation->failed();
14486 0         0 last;
14487             }
14488 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [relpath]<< (return value: [}
14489             . $_tok . q{]},
14490              
14491             Parse::RecDescent::_tracefirst($text),
14492             q{path},
14493             $tracelevel)
14494             if defined $::RD_TRACE;
14495 0         0 $item{q{relpath}} = $_tok;
14496 0         0 push @item, $_tok;
14497            
14498             }
14499              
14500 0 0       0 Parse::RecDescent::_trace(q{Trying action},
14501             Parse::RecDescent::_tracefirst($text),
14502             q{path},
14503             $tracelevel)
14504             if defined $::RD_TRACE;
14505            
14506              
14507 0 0       0 $_tok = ($_noactions) ? 0 : do {
14508 0         0 new Config::Maker::Path::Meta(-tail => $item[-1]);
14509             };
14510 0 0       0 unless (defined $_tok)
14511             {
14512 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
14513             if defined $::RD_TRACE;
14514 0         0 last;
14515             }
14516 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
14517             . $_tok . q{])},
14518             Parse::RecDescent::_tracefirst($text))
14519             if defined $::RD_TRACE;
14520 0         0 push @item, $_tok;
14521 0         0 $item{__ACTION1__}=$_tok;
14522            
14523              
14524 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['' metaroot relpath]<<},
14525             Parse::RecDescent::_tracefirst($text),
14526             q{path},
14527             $tracelevel)
14528             if defined $::RD_TRACE;
14529              
14530              
14531              
14532 0         0 $_matched = 1;
14533 0         0 last;
14534             }
14535              
14536              
14537 302   33     2796 while (!$_matched && !$commit)
14538             {
14539 302 50       882 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
14540 302 50       722 Parse::RecDescent::_trace(q{Trying production: ['' metaroot]},
14541             Parse::RecDescent::_tracefirst($_[1]),
14542             q{path},
14543             $tracelevel)
14544             if defined $::RD_TRACE;
14545 302         829 my $thisprod = $thisrule->{"prods"}[1];
14546 302         544 $text = $_[1];
14547 302         395 my $_savetext;
14548 302         722 @item = (q{path});
14549 302         1127 %item = (__RULE__ => q{path});
14550 302         506 my $repcount = 0;
14551              
14552              
14553 302 50       697 Parse::RecDescent::_trace(q{Trying terminal: ['']},
14554             Parse::RecDescent::_tracefirst($text),
14555             q{path},
14556             $tracelevel)
14557             if defined $::RD_TRACE;
14558 302         609 undef $lastsep;
14559 302         1039 $expectation->is(q{})->at($text);
14560            
14561              
14562 302 100 33     5564 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A/)
  302 50       3324  
14563             {
14564 0 0       0 $text = $lastsep . $text if defined $lastsep;
14565            
14566 0         0 $expectation->failed();
14567 0 0       0 Parse::RecDescent::_trace(qq{<>},
14568             Parse::RecDescent::_tracefirst($text))
14569             if defined $::RD_TRACE;
14570 0         0 last;
14571             }
14572 302         2083 $current_match = substr($text, $-[0], $+[0] - $-[0]);
14573 302         998 substr($text,0,length($current_match),q{});
14574 302 50       732 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
14575             . $current_match . q{])},
14576             Parse::RecDescent::_tracefirst($text))
14577             if defined $::RD_TRACE;
14578 302         856 push @item, $item{__STRING1__}=$current_match;
14579            
14580              
14581            
14582              
14583 302 50       887 Parse::RecDescent::_trace(q{Trying directive: []},
14584             Parse::RecDescent::_tracefirst($text),
14585             q{path},
14586             $tracelevel)
14587             if defined $::RD_TRACE;
14588 302         416 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  302         863  
  302         529  
  302         595  
14589 302 50       1245 if (defined($_tok))
14590             {
14591 302 50       833 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
14592             . $_tok . q{])},
14593             Parse::RecDescent::_tracefirst($text))
14594             if defined $::RD_TRACE;
14595             }
14596             else
14597             {
14598 0 0       0 Parse::RecDescent::_trace(q{<>},
14599             Parse::RecDescent::_tracefirst($text))
14600             if defined $::RD_TRACE;
14601             }
14602            
14603 302 50       757 last unless defined $_tok;
14604 302         1059 push @item, $item{__DIRECTIVE1__}=$_tok;
14605            
14606              
14607 302 50       691 Parse::RecDescent::_trace(q{Trying subrule: [metaroot]},
14608             Parse::RecDescent::_tracefirst($text),
14609             q{path},
14610             $tracelevel)
14611             if defined $::RD_TRACE;
14612 9     9   79 if (1) { no strict qw{refs};
  9         50  
  9         9677  
  302         411  
14613 302         929 $expectation->is(q{metaroot})->at($text);
14614 302 50   302   3702 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::metaroot($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  302         701  
14615             {
14616            
14617 302 50       1140 Parse::RecDescent::_trace(q{<>},
14618             Parse::RecDescent::_tracefirst($text),
14619             q{path},
14620             $tracelevel)
14621             if defined $::RD_TRACE;
14622 302         1243 $expectation->failed();
14623 302         2435 last;
14624             }
14625 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [metaroot]<< (return value: [}
14626             . $_tok . q{]},
14627              
14628             Parse::RecDescent::_tracefirst($text),
14629             q{path},
14630             $tracelevel)
14631             if defined $::RD_TRACE;
14632 0         0 $item{q{metaroot}} = $_tok;
14633 0         0 push @item, $_tok;
14634            
14635             }
14636              
14637 0 0       0 Parse::RecDescent::_trace(q{Trying action},
14638             Parse::RecDescent::_tracefirst($text),
14639             q{path},
14640             $tracelevel)
14641             if defined $::RD_TRACE;
14642            
14643              
14644 0 0       0 $_tok = ($_noactions) ? 0 : do {
14645 0         0 new Config::Maker::Path::Meta();
14646             };
14647 0 0       0 unless (defined $_tok)
14648             {
14649 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
14650             if defined $::RD_TRACE;
14651 0         0 last;
14652             }
14653 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
14654             . $_tok . q{])},
14655             Parse::RecDescent::_tracefirst($text))
14656             if defined $::RD_TRACE;
14657 0         0 push @item, $_tok;
14658 0         0 $item{__ACTION1__}=$_tok;
14659            
14660              
14661 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['' metaroot]<<},
14662             Parse::RecDescent::_tracefirst($text),
14663             q{path},
14664             $tracelevel)
14665             if defined $::RD_TRACE;
14666              
14667              
14668              
14669 0         0 $_matched = 1;
14670 0         0 last;
14671             }
14672              
14673              
14674 302   33     2229 while (!$_matched && !$commit)
14675             {
14676 302 50       816 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
14677 302 50       910 Parse::RecDescent::_trace(q{Trying production: ['' separator relpath]},
14678             Parse::RecDescent::_tracefirst($_[1]),
14679             q{path},
14680             $tracelevel)
14681             if defined $::RD_TRACE;
14682 302         937 my $thisprod = $thisrule->{"prods"}[2];
14683 302         503 $text = $_[1];
14684 302         405 my $_savetext;
14685 302         841 @item = (q{path});
14686 302         1262 %item = (__RULE__ => q{path});
14687 302         553 my $repcount = 0;
14688              
14689              
14690 302 50       857 Parse::RecDescent::_trace(q{Trying terminal: ['']},
14691             Parse::RecDescent::_tracefirst($text),
14692             q{path},
14693             $tracelevel)
14694             if defined $::RD_TRACE;
14695 302         596 undef $lastsep;
14696 302         2443 $expectation->is(q{})->at($text);
14697            
14698              
14699 302 100 33     7290 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A/)
  302 50       3718  
14700             {
14701 0 0       0 $text = $lastsep . $text if defined $lastsep;
14702            
14703 0         0 $expectation->failed();
14704 0 0       0 Parse::RecDescent::_trace(qq{<>},
14705             Parse::RecDescent::_tracefirst($text))
14706             if defined $::RD_TRACE;
14707 0         0 last;
14708             }
14709 302         1902 $current_match = substr($text, $-[0], $+[0] - $-[0]);
14710 302         1078 substr($text,0,length($current_match),q{});
14711 302 50       759 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
14712             . $current_match . q{])},
14713             Parse::RecDescent::_tracefirst($text))
14714             if defined $::RD_TRACE;
14715 302         856 push @item, $item{__STRING1__}=$current_match;
14716            
14717              
14718            
14719              
14720 302 50       684 Parse::RecDescent::_trace(q{Trying directive: []},
14721             Parse::RecDescent::_tracefirst($text),
14722             q{path},
14723             $tracelevel)
14724             if defined $::RD_TRACE;
14725 302         446 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  302         481  
  302         460  
  302         635  
14726 302 50       940 if (defined($_tok))
14727             {
14728 302 50       734 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
14729             . $_tok . q{])},
14730             Parse::RecDescent::_tracefirst($text))
14731             if defined $::RD_TRACE;
14732             }
14733             else
14734             {
14735 0 0       0 Parse::RecDescent::_trace(q{<>},
14736             Parse::RecDescent::_tracefirst($text))
14737             if defined $::RD_TRACE;
14738             }
14739            
14740 302 50       686 last unless defined $_tok;
14741 302         854 push @item, $item{__DIRECTIVE1__}=$_tok;
14742            
14743              
14744 302 50       884 Parse::RecDescent::_trace(q{Trying subrule: [separator]},
14745             Parse::RecDescent::_tracefirst($text),
14746             q{path},
14747             $tracelevel)
14748             if defined $::RD_TRACE;
14749 9     9   55 if (1) { no strict qw{refs};
  9         23  
  9         3683  
  302         378  
14750 302         1110 $expectation->is(q{separator})->at($text);
14751 302 100   302   4175 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::separator($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  302         656  
14752             {
14753            
14754 280 50       643 Parse::RecDescent::_trace(q{<>},
14755             Parse::RecDescent::_tracefirst($text),
14756             q{path},
14757             $tracelevel)
14758             if defined $::RD_TRACE;
14759 280         996 $expectation->failed();
14760 280         2729 last;
14761             }
14762 22 50       105 Parse::RecDescent::_trace(q{>>Matched subrule: [separator]<< (return value: [}
14763             . $_tok . q{]},
14764              
14765             Parse::RecDescent::_tracefirst($text),
14766             q{path},
14767             $tracelevel)
14768             if defined $::RD_TRACE;
14769 22         56 $item{q{separator}} = $_tok;
14770 22         46 push @item, $_tok;
14771            
14772             }
14773              
14774 22 50       64 Parse::RecDescent::_trace(q{Trying subrule: [relpath]},
14775             Parse::RecDescent::_tracefirst($text),
14776             q{path},
14777             $tracelevel)
14778             if defined $::RD_TRACE;
14779 9     9   53 if (1) { no strict qw{refs};
  9         18  
  9         12228  
  22         27  
14780 22         78 $expectation->is(q{relpath})->at($text);
14781 22 100   22   269 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::relpath($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  22         62  
14782             {
14783            
14784 18 50       53 Parse::RecDescent::_trace(q{<>},
14785             Parse::RecDescent::_tracefirst($text),
14786             q{path},
14787             $tracelevel)
14788             if defined $::RD_TRACE;
14789 18         128 $expectation->failed();
14790 18         152 last;
14791             }
14792 4 50       24 Parse::RecDescent::_trace(q{>>Matched subrule: [relpath]<< (return value: [}
14793             . $_tok . q{]},
14794              
14795             Parse::RecDescent::_tracefirst($text),
14796             q{path},
14797             $tracelevel)
14798             if defined $::RD_TRACE;
14799 4         11 $item{q{relpath}} = $_tok;
14800 4         8 push @item, $_tok;
14801            
14802             }
14803              
14804 4 50       11 Parse::RecDescent::_trace(q{Trying action},
14805             Parse::RecDescent::_tracefirst($text),
14806             q{path},
14807             $tracelevel)
14808             if defined $::RD_TRACE;
14809            
14810              
14811 4 50       14 $_tok = ($_noactions) ? 0 : do {
14812 4         36 new Config::Maker::Path::Root(-tail => $item[-1]);
14813             };
14814 4 50       14 unless (defined $_tok)
14815             {
14816 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
14817             if defined $::RD_TRACE;
14818 0         0 last;
14819             }
14820 4 50       14 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
14821             . $_tok . q{])},
14822             Parse::RecDescent::_tracefirst($text))
14823             if defined $::RD_TRACE;
14824 4         6 push @item, $_tok;
14825 4         8 $item{__ACTION1__}=$_tok;
14826            
14827              
14828 4 50       10 Parse::RecDescent::_trace(q{>>Matched production: ['' separator relpath]<<},
14829             Parse::RecDescent::_tracefirst($text),
14830             q{path},
14831             $tracelevel)
14832             if defined $::RD_TRACE;
14833              
14834              
14835              
14836 4         7 $_matched = 1;
14837 4         10 last;
14838             }
14839              
14840              
14841 302   66     2858 while (!$_matched && !$commit)
14842             {
14843 298 50       815 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
14844 298 50       734 Parse::RecDescent::_trace(q{Trying production: ['' separator]},
14845             Parse::RecDescent::_tracefirst($_[1]),
14846             q{path},
14847             $tracelevel)
14848             if defined $::RD_TRACE;
14849 298         1492 my $thisprod = $thisrule->{"prods"}[3];
14850 298         656 $text = $_[1];
14851 298         360 my $_savetext;
14852 298         1015 @item = (q{path});
14853 298         867 %item = (__RULE__ => q{path});
14854 298         917 my $repcount = 0;
14855              
14856              
14857 298 50       887 Parse::RecDescent::_trace(q{Trying terminal: ['']},
14858             Parse::RecDescent::_tracefirst($text),
14859             q{path},
14860             $tracelevel)
14861             if defined $::RD_TRACE;
14862 298         480 undef $lastsep;
14863 298         1084 $expectation->is(q{})->at($text);
14864            
14865              
14866 298 100 33     4536 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A/)
  298 50       3470  
14867             {
14868 0 0       0 $text = $lastsep . $text if defined $lastsep;
14869            
14870 0         0 $expectation->failed();
14871 0 0       0 Parse::RecDescent::_trace(qq{<>},
14872             Parse::RecDescent::_tracefirst($text))
14873             if defined $::RD_TRACE;
14874 0         0 last;
14875             }
14876 298         2612 $current_match = substr($text, $-[0], $+[0] - $-[0]);
14877 298         1365 substr($text,0,length($current_match),q{});
14878 298 50       955 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
14879             . $current_match . q{])},
14880             Parse::RecDescent::_tracefirst($text))
14881             if defined $::RD_TRACE;
14882 298         860 push @item, $item{__STRING1__}=$current_match;
14883            
14884              
14885            
14886              
14887 298 50       966 Parse::RecDescent::_trace(q{Trying directive: []},
14888             Parse::RecDescent::_tracefirst($text),
14889             q{path},
14890             $tracelevel)
14891             if defined $::RD_TRACE;
14892 298         397 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  298         535  
  298         624  
  298         563  
14893 298 50       916 if (defined($_tok))
14894             {
14895 298 50       807 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
14896             . $_tok . q{])},
14897             Parse::RecDescent::_tracefirst($text))
14898             if defined $::RD_TRACE;
14899             }
14900             else
14901             {
14902 0 0       0 Parse::RecDescent::_trace(q{<>},
14903             Parse::RecDescent::_tracefirst($text))
14904             if defined $::RD_TRACE;
14905             }
14906            
14907 298 50       727 last unless defined $_tok;
14908 298         865 push @item, $item{__DIRECTIVE1__}=$_tok;
14909            
14910              
14911 298 50       701 Parse::RecDescent::_trace(q{Trying subrule: [separator]},
14912             Parse::RecDescent::_tracefirst($text),
14913             q{path},
14914             $tracelevel)
14915             if defined $::RD_TRACE;
14916 9     9   182 if (1) { no strict qw{refs};
  9         20  
  9         11572  
  298         381  
14917 298         1781 $expectation->is(q{separator})->at($text);
14918 298 100   298   3424 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::separator($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  298         675  
14919             {
14920            
14921 280 50       656 Parse::RecDescent::_trace(q{<>},
14922             Parse::RecDescent::_tracefirst($text),
14923             q{path},
14924             $tracelevel)
14925             if defined $::RD_TRACE;
14926 280         968 $expectation->failed();
14927 280         4454 last;
14928             }
14929 18 50       90 Parse::RecDescent::_trace(q{>>Matched subrule: [separator]<< (return value: [}
14930             . $_tok . q{]},
14931              
14932             Parse::RecDescent::_tracefirst($text),
14933             q{path},
14934             $tracelevel)
14935             if defined $::RD_TRACE;
14936 18         47 $item{q{separator}} = $_tok;
14937 18         37 push @item, $_tok;
14938            
14939             }
14940              
14941 18 50       51 Parse::RecDescent::_trace(q{Trying action},
14942             Parse::RecDescent::_tracefirst($text),
14943             q{path},
14944             $tracelevel)
14945             if defined $::RD_TRACE;
14946            
14947              
14948 18 50       55 $_tok = ($_noactions) ? 0 : do {
14949 18         339 new Config::Maker::Path::Root();
14950             };
14951 18 50       76 unless (defined $_tok)
14952             {
14953 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
14954             if defined $::RD_TRACE;
14955 0         0 last;
14956             }
14957 18 50       50 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
14958             . $_tok . q{])},
14959             Parse::RecDescent::_tracefirst($text))
14960             if defined $::RD_TRACE;
14961 18         37 push @item, $_tok;
14962 18         52 $item{__ACTION1__}=$_tok;
14963            
14964              
14965 18 50       58 Parse::RecDescent::_trace(q{>>Matched production: ['' separator]<<},
14966             Parse::RecDescent::_tracefirst($text),
14967             q{path},
14968             $tracelevel)
14969             if defined $::RD_TRACE;
14970              
14971              
14972              
14973 18         30 $_matched = 1;
14974 18         46 last;
14975             }
14976              
14977              
14978 302   66     1919 while (!$_matched && !$commit)
14979             {
14980 280 50       10122 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
14981 280 50       696 Parse::RecDescent::_trace(q{Trying production: ['' relpath]},
14982             Parse::RecDescent::_tracefirst($_[1]),
14983             q{path},
14984             $tracelevel)
14985             if defined $::RD_TRACE;
14986 280         770 my $thisprod = $thisrule->{"prods"}[4];
14987 280         518 $text = $_[1];
14988 280         405 my $_savetext;
14989 280         919 @item = (q{path});
14990 280         863 %item = (__RULE__ => q{path});
14991 280         389 my $repcount = 0;
14992              
14993              
14994 280 50       707 Parse::RecDescent::_trace(q{Trying terminal: ['']},
14995             Parse::RecDescent::_tracefirst($text),
14996             q{path},
14997             $tracelevel)
14998             if defined $::RD_TRACE;
14999 280         408 undef $lastsep;
15000 280         928 $expectation->is(q{})->at($text);
15001            
15002              
15003 280 100 33     3136 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A/)
  280 50       3165  
15004             {
15005 0 0       0 $text = $lastsep . $text if defined $lastsep;
15006            
15007 0         0 $expectation->failed();
15008 0 0       0 Parse::RecDescent::_trace(qq{<>},
15009             Parse::RecDescent::_tracefirst($text))
15010             if defined $::RD_TRACE;
15011 0         0 last;
15012             }
15013 280         2478 $current_match = substr($text, $-[0], $+[0] - $-[0]);
15014 280         907 substr($text,0,length($current_match),q{});
15015 280 50       755 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
15016             . $current_match . q{])},
15017             Parse::RecDescent::_tracefirst($text))
15018             if defined $::RD_TRACE;
15019 280         1051 push @item, $item{__STRING1__}=$current_match;
15020            
15021              
15022            
15023              
15024 280 50       668 Parse::RecDescent::_trace(q{Trying directive: []},
15025             Parse::RecDescent::_tracefirst($text),
15026             q{path},
15027             $tracelevel)
15028             if defined $::RD_TRACE;
15029 280         348 $_tok = do { my $oldskip = $skip; $skip= ''; $oldskip };
  280         431  
  280         620  
  280         570  
15030 280 50       2780 if (defined($_tok))
15031             {
15032 280 50       1203 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
15033             . $_tok . q{])},
15034             Parse::RecDescent::_tracefirst($text))
15035             if defined $::RD_TRACE;
15036             }
15037             else
15038             {
15039 0 0       0 Parse::RecDescent::_trace(q{<>},
15040             Parse::RecDescent::_tracefirst($text))
15041             if defined $::RD_TRACE;
15042             }
15043            
15044 280 50       814 last unless defined $_tok;
15045 280         674 push @item, $item{__DIRECTIVE1__}=$_tok;
15046            
15047              
15048 280 50       693 Parse::RecDescent::_trace(q{Trying subrule: [relpath]},
15049             Parse::RecDescent::_tracefirst($text),
15050             q{path},
15051             $tracelevel)
15052             if defined $::RD_TRACE;
15053 9     9   70 if (1) { no strict qw{refs};
  9         29  
  9         11724  
  280         376  
15054 280         948 $expectation->is(q{relpath})->at($text);
15055 280 50   280   4301 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::relpath($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  280         719  
15056             {
15057            
15058 0 0       0 Parse::RecDescent::_trace(q{<>},
15059             Parse::RecDescent::_tracefirst($text),
15060             q{path},
15061             $tracelevel)
15062             if defined $::RD_TRACE;
15063 0         0 $expectation->failed();
15064 0         0 last;
15065             }
15066 280 50       1344 Parse::RecDescent::_trace(q{>>Matched subrule: [relpath]<< (return value: [}
15067             . $_tok . q{]},
15068              
15069             Parse::RecDescent::_tracefirst($text),
15070             q{path},
15071             $tracelevel)
15072             if defined $::RD_TRACE;
15073 280         692 $item{q{relpath}} = $_tok;
15074 280         557 push @item, $_tok;
15075            
15076             }
15077              
15078 280 50       695 Parse::RecDescent::_trace(q{>>Matched production: ['' relpath]<<},
15079             Parse::RecDescent::_tracefirst($text),
15080             q{path},
15081             $tracelevel)
15082             if defined $::RD_TRACE;
15083              
15084              
15085              
15086 280         372 $_matched = 1;
15087 280         784 last;
15088             }
15089              
15090              
15091 302 50 33     1135 unless ( $_matched || defined($score) )
15092             {
15093            
15094              
15095 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
15096 0 0       0 Parse::RecDescent::_trace(q{<>},
15097             Parse::RecDescent::_tracefirst($_[1]),
15098             q{path},
15099             $tracelevel)
15100             if defined $::RD_TRACE;
15101 0         0 return undef;
15102             }
15103 302 50 33     1563 if (!defined($return) && defined($score))
15104             {
15105 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
15106             q{path},
15107             $tracelevel)
15108             if defined $::RD_TRACE;
15109 0         0 $return = $score_return;
15110             }
15111 302         750 splice @{$thisparser->{errors}}, $err_at;
  302         715  
15112 302 50       946 $return = $item[$#item] unless defined $return;
15113 302 50       880 if (defined $::RD_TRACE)
15114             {
15115 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
15116             $return . q{])}, "",
15117             q{path},
15118             $tracelevel);
15119 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
15120             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
15121             Parse::RecDescent::_tracefirst($text),
15122             , q{path},
15123             $tracelevel)
15124             }
15125 302         587 $_[1] = $text;
15126 302         4220 return $return;
15127             }
15128              
15129             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
15130             sub Parse::RecDescent::Config::Maker::Grammar::value_perlcode
15131             {
15132 33     33   811 my $thisparser = $_[0];
15133 9     9   65 use vars q{$tracelevel};
  9         118  
  9         4713  
15134 33   50     185 local $tracelevel = ($tracelevel||0)+1;
15135 33         70 $ERRORS = 0;
15136 33         116 my $thisrule = $thisparser->{"rules"}{"value_perlcode"};
15137              
15138 33 50       97 Parse::RecDescent::_trace(q{Trying rule: [value_perlcode]},
15139             Parse::RecDescent::_tracefirst($_[1]),
15140             q{value_perlcode},
15141             $tracelevel)
15142             if defined $::RD_TRACE;
15143              
15144            
15145 33         47 my $err_at = @{$thisparser->{errors}};
  33         109  
15146              
15147 33         56 my $score;
15148             my $score_return;
15149 0         0 my $_tok;
15150 33         55 my $return = undef;
15151 33         62 my $_matched=0;
15152 33         66 my $commit=0;
15153 33         66 my @item = ();
15154 33         69 my %item = ();
15155 33         53 my $repeating = $_[2];
15156 33         56 my $_noactions = $_[3];
15157 33 50       95 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  33         57  
  33         90  
15158 33         98 my $_itempos = $_[5];
15159 33 50       145 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
15160 33         74 my $text;
15161             my $lastsep;
15162 0         0 my $current_match;
15163 33         138 my $expectation = new Parse::RecDescent::Expectation(q{perl_codeblock});
15164 33         313 $expectation->at($_[1]);
15165            
15166 33         184 my $thisline;
15167 33         172 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
15168              
15169            
15170              
15171 33   33     435 while (!$_matched && !$commit)
15172             {
15173            
15174 33 50       180 Parse::RecDescent::_trace(q{Trying production: [perl_codeblock]},
15175             Parse::RecDescent::_tracefirst($_[1]),
15176             q{value_perlcode},
15177             $tracelevel)
15178             if defined $::RD_TRACE;
15179 33         153 my $thisprod = $thisrule->{"prods"}[0];
15180 33         106 $text = $_[1];
15181 33         47 my $_savetext;
15182 33         83 @item = (q{value_perlcode});
15183 33         89 %item = (__RULE__ => q{value_perlcode});
15184 33         55 my $repcount = 0;
15185              
15186              
15187 33 50       101 Parse::RecDescent::_trace(q{Trying subrule: [perl_codeblock]},
15188             Parse::RecDescent::_tracefirst($text),
15189             q{value_perlcode},
15190             $tracelevel)
15191             if defined $::RD_TRACE;
15192 9     9   61 if (1) { no strict qw{refs};
  9         18  
  9         9779  
  33         53  
15193 33         130 $expectation->is(q{})->at($text);
15194 33 100   33   499 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::perl_codeblock($thisparser,$text,$repeating,$_noactions,sub { return [@arg] },undef)))
  33         988  
15195             {
15196            
15197 29 50       100 Parse::RecDescent::_trace(q{<>},
15198             Parse::RecDescent::_tracefirst($text),
15199             q{value_perlcode},
15200             $tracelevel)
15201             if defined $::RD_TRACE;
15202 29         119 $expectation->failed();
15203 29         154 last;
15204             }
15205 4 50       26 Parse::RecDescent::_trace(q{>>Matched subrule: [perl_codeblock]<< (return value: [}
15206             . $_tok . q{]},
15207              
15208             Parse::RecDescent::_tracefirst($text),
15209             q{value_perlcode},
15210             $tracelevel)
15211             if defined $::RD_TRACE;
15212 4         12 $item{q{perl_codeblock}} = $_tok;
15213 4         7 push @item, $_tok;
15214            
15215             }
15216              
15217 4 50       11 Parse::RecDescent::_trace(q{>>Matched production: [perl_codeblock]<<},
15218             Parse::RecDescent::_tracefirst($text),
15219             q{value_perlcode},
15220             $tracelevel)
15221             if defined $::RD_TRACE;
15222              
15223              
15224              
15225 4         7 $_matched = 1;
15226 4         8 last;
15227             }
15228              
15229              
15230 33         198 while (!$_matched)
15231             {
15232            
15233 29 50       95 Parse::RecDescent::_trace(q{Trying production: []},
15234             Parse::RecDescent::_tracefirst($_[1]),
15235             q{value_perlcode},
15236             $tracelevel)
15237             if defined $::RD_TRACE;
15238 29         82 my $thisprod = $thisrule->{"prods"}[1];
15239            
15240 29         84 my $_savetext;
15241 29         96 @item = (q{value_perlcode});
15242 29         108 %item = (__RULE__ => q{value_perlcode});
15243 29         82 my $repcount = 0;
15244              
15245              
15246            
15247              
15248 29 50       101 Parse::RecDescent::_trace(q{Trying directive: []},
15249             Parse::RecDescent::_tracefirst($text),
15250             q{value_perlcode},
15251             $tracelevel)
15252             if defined $::RD_TRACE;
15253 29 50       43 $_tok = do { if (1) { do {
  29         45  
  29         85  
15254 29         64 my $rule = $item[0];
15255 29         147 $rule =~ s/_/ /g;
15256             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
15257 29         53 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  29         227  
15258 29         1512 } unless $_noactions; undef } else {0} };
15259 29 50       95 if (defined($_tok))
15260             {
15261 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
15262             . $_tok . q{])},
15263             Parse::RecDescent::_tracefirst($text))
15264             if defined $::RD_TRACE;
15265             }
15266             else
15267             {
15268 29 50       105 Parse::RecDescent::_trace(q{<>},
15269             Parse::RecDescent::_tracefirst($text))
15270             if defined $::RD_TRACE;
15271             }
15272            
15273 29 50       100 last unless defined $_tok;
15274 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
15275            
15276              
15277 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
15278             Parse::RecDescent::_tracefirst($text),
15279             q{value_perlcode},
15280             $tracelevel)
15281             if defined $::RD_TRACE;
15282              
15283              
15284              
15285 0         0 $_matched = 1;
15286 0         0 last;
15287             }
15288              
15289              
15290 33 100 66     201 unless ( $_matched || defined($score) )
15291             {
15292            
15293              
15294 29         82 $_[1] = $text; # NOT SURE THIS IS NEEDED
15295 29 50       98 Parse::RecDescent::_trace(q{<>},
15296             Parse::RecDescent::_tracefirst($_[1]),
15297             q{value_perlcode},
15298             $tracelevel)
15299             if defined $::RD_TRACE;
15300 29         291 return undef;
15301             }
15302 4 50 33     24 if (!defined($return) && defined($score))
15303             {
15304 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
15305             q{value_perlcode},
15306             $tracelevel)
15307             if defined $::RD_TRACE;
15308 0         0 $return = $score_return;
15309             }
15310 4         7 splice @{$thisparser->{errors}}, $err_at;
  4         8  
15311 4 50       15 $return = $item[$#item] unless defined $return;
15312 4 50       11 if (defined $::RD_TRACE)
15313             {
15314 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
15315             $return . q{])}, "",
15316             q{value_perlcode},
15317             $tracelevel);
15318 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
15319             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
15320             Parse::RecDescent::_tracefirst($text),
15321             , q{value_perlcode},
15322             $tracelevel)
15323             }
15324 4         12 $_[1] = $text;
15325 4         40 return $return;
15326             }
15327              
15328             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
15329             sub Parse::RecDescent::Config::Maker::Grammar::value_nestlist_elem
15330             {
15331 46     46   838 my $thisparser = $_[0];
15332 9     9   60 use vars q{$tracelevel};
  9         18  
  9         13952  
15333 46   50     413 local $tracelevel = ($tracelevel||0)+1;
15334 46         180 $ERRORS = 0;
15335 46         123 my $thisrule = $thisparser->{"rules"}{"value_nestlist_elem"};
15336              
15337 46 50       168 Parse::RecDescent::_trace(q{Trying rule: [value_nestlist_elem]},
15338             Parse::RecDescent::_tracefirst($_[1]),
15339             q{value_nestlist_elem},
15340             $tracelevel)
15341             if defined $::RD_TRACE;
15342              
15343            
15344 46         76 my $err_at = @{$thisparser->{errors}};
  46         95  
15345              
15346 46         70 my $score;
15347             my $score_return;
15348 0         0 my $_tok;
15349 46         76 my $return = undef;
15350 46         67 my $_matched=0;
15351 46         65 my $commit=0;
15352 46         83 my @item = ();
15353 46         77 my %item = ();
15354 46         69 my $repeating = $_[2];
15355 46         65 my $_noactions = $_[3];
15356 46 50       116 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  46         82  
  46         103  
15357 46         92 my $_itempos = $_[5];
15358 46 50       181 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
15359 46         68 my $text;
15360             my $lastsep;
15361 0         0 my $current_match;
15362 46         199 my $expectation = new Parse::RecDescent::Expectation(q{'[', or });
15363 46         499 $expectation->at($_[1]);
15364            
15365 46         197 my $thisline;
15366 46         221 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
15367              
15368            
15369              
15370 46   33     566 while (!$_matched && !$commit)
15371             {
15372            
15373 46 50       107 Parse::RecDescent::_trace(q{Trying production: ['[' value_nestlist_elem ']']},
15374             Parse::RecDescent::_tracefirst($_[1]),
15375             q{value_nestlist_elem},
15376             $tracelevel)
15377             if defined $::RD_TRACE;
15378 46         118 my $thisprod = $thisrule->{"prods"}[0];
15379 46         82 $text = $_[1];
15380 46         60 my $_savetext;
15381 46         94 @item = (q{value_nestlist_elem});
15382 46         209 %item = (__RULE__ => q{value_nestlist_elem});
15383 46         69 my $repcount = 0;
15384              
15385              
15386 46 50       113 Parse::RecDescent::_trace(q{Trying terminal: ['[']},
15387             Parse::RecDescent::_tracefirst($text),
15388             q{value_nestlist_elem},
15389             $tracelevel)
15390             if defined $::RD_TRACE;
15391 46         68 undef $lastsep;
15392 46         149 $expectation->is(q{})->at($text);
15393            
15394              
15395 46 50 33     1178 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\[/)
  46 50       678  
15396             {
15397 46 50       189 $text = $lastsep . $text if defined $lastsep;
15398            
15399 46         183 $expectation->failed();
15400 46 50       256 Parse::RecDescent::_trace(qq{<>},
15401             Parse::RecDescent::_tracefirst($text))
15402             if defined $::RD_TRACE;
15403 46         106 last;
15404             }
15405 0         0 $current_match = substr($text, $-[0], $+[0] - $-[0]);
15406 0         0 substr($text,0,length($current_match),q{});
15407 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
15408             . $current_match . q{])},
15409             Parse::RecDescent::_tracefirst($text))
15410             if defined $::RD_TRACE;
15411 0         0 push @item, $item{__STRING1__}=$current_match;
15412            
15413              
15414 0 0       0 Parse::RecDescent::_trace(q{Trying repeated subrule: [value_nestlist_elem]},
15415             Parse::RecDescent::_tracefirst($text),
15416             q{value_nestlist_elem},
15417             $tracelevel)
15418             if defined $::RD_TRACE;
15419 0         0 $expectation->is(q{value_nestlist_elem})->at($text);
15420            
15421 0 0   0   0 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::Config::Maker::Grammar::value_nestlist_elem, 0, 100000000, $_noactions,$expectation,sub { return [@arg] },undef)))
  0         0  
15422             {
15423 0 0       0 Parse::RecDescent::_trace(q{<>},
15424             Parse::RecDescent::_tracefirst($text),
15425             q{value_nestlist_elem},
15426             $tracelevel)
15427             if defined $::RD_TRACE;
15428 0         0 last;
15429             }
15430 0 0       0 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [value_nestlist_elem]<< (}
15431             . @$_tok . q{ times)},
15432              
15433             Parse::RecDescent::_tracefirst($text),
15434             q{value_nestlist_elem},
15435             $tracelevel)
15436             if defined $::RD_TRACE;
15437 0         0 $item{q{value_nestlist_elem(s?)}} = $_tok;
15438 0         0 push @item, $_tok;
15439            
15440              
15441              
15442 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [']']},
15443             Parse::RecDescent::_tracefirst($text),
15444             q{value_nestlist_elem},
15445             $tracelevel)
15446             if defined $::RD_TRACE;
15447 0         0 undef $lastsep;
15448 0         0 $expectation->is(q{']'})->at($text);
15449            
15450              
15451 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ m/\A\]/)
  0 0       0  
15452             {
15453 0 0       0 $text = $lastsep . $text if defined $lastsep;
15454            
15455 0         0 $expectation->failed();
15456 0 0       0 Parse::RecDescent::_trace(qq{<>},
15457             Parse::RecDescent::_tracefirst($text))
15458             if defined $::RD_TRACE;
15459 0         0 last;
15460             }
15461 0         0 $current_match = substr($text, $-[0], $+[0] - $-[0]);
15462 0         0 substr($text,0,length($current_match),q{});
15463 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
15464             . $current_match . q{])},
15465             Parse::RecDescent::_tracefirst($text))
15466             if defined $::RD_TRACE;
15467 0         0 push @item, $item{__STRING2__}=$current_match;
15468            
15469              
15470 0 0       0 Parse::RecDescent::_trace(q{Trying action},
15471             Parse::RecDescent::_tracefirst($text),
15472             q{value_nestlist_elem},
15473             $tracelevel)
15474             if defined $::RD_TRACE;
15475            
15476              
15477 0 0       0 $_tok = ($_noactions) ? 0 : do { new Config::Maker::Value::List($item[2]); };
  0         0  
15478 0 0       0 unless (defined $_tok)
15479             {
15480 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
15481             if defined $::RD_TRACE;
15482 0         0 last;
15483             }
15484 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
15485             . $_tok . q{])},
15486             Parse::RecDescent::_tracefirst($text))
15487             if defined $::RD_TRACE;
15488 0         0 push @item, $_tok;
15489 0         0 $item{__ACTION1__}=$_tok;
15490            
15491              
15492 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['[' value_nestlist_elem ']']<<},
15493             Parse::RecDescent::_tracefirst($text),
15494             q{value_nestlist_elem},
15495             $tracelevel)
15496             if defined $::RD_TRACE;
15497              
15498              
15499              
15500 0         0 $_matched = 1;
15501 0         0 last;
15502             }
15503              
15504              
15505 46   33     226 while (!$_matched && !$commit)
15506             {
15507            
15508 46 50       109 Parse::RecDescent::_trace(q{Trying production: []},
15509             Parse::RecDescent::_tracefirst($_[1]),
15510             q{value_nestlist_elem},
15511             $tracelevel)
15512             if defined $::RD_TRACE;
15513 46         118 my $thisprod = $thisrule->{"prods"}[1];
15514 46         125 $text = $_[1];
15515 46         67 my $_savetext;
15516 46         100 @item = (q{value_nestlist_elem});
15517 46         109 %item = (__RULE__ => q{value_nestlist_elem});
15518 46         65 my $repcount = 0;
15519              
15520              
15521 46 50       210 Parse::RecDescent::_trace(q{Trying subrule: [value_$arg[0]]},
15522             Parse::RecDescent::_tracefirst($text),
15523             q{value_nestlist_elem},
15524             $tracelevel)
15525             if defined $::RD_TRACE;
15526 9     9   66 if (1) { no strict qw{refs};
  9         19  
  9         11114  
  46         60  
15527 46         151 $expectation->is(q{})->at($text);
15528 46 100   46   455 unless (defined ($_tok = &{'Parse::RecDescent::Config::Maker::Grammar::'.qq{value_$arg[0]}}($thisparser,$text,$repeating,$_noactions,sub { return [@arg[1..$#arg]] },undef)))
  46         313  
  46         159  
15529             {
15530            
15531 23 50       72 Parse::RecDescent::_trace(q{<>},
15532             Parse::RecDescent::_tracefirst($text),
15533             q{value_nestlist_elem},
15534             $tracelevel)
15535             if defined $::RD_TRACE;
15536 23         82 $expectation->failed();
15537 23         102 last;
15538             }
15539 23 50       114 Parse::RecDescent::_trace(q{>>Matched subrule: [value_$arg[0]]<< (return value: [}
15540             . $_tok . q{]},
15541              
15542             Parse::RecDescent::_tracefirst($text),
15543             q{value_nestlist_elem},
15544             $tracelevel)
15545             if defined $::RD_TRACE;
15546 23         51 $item{q{value_$arg[0]}} = $_tok;
15547 23         46 push @item, $_tok;
15548            
15549             }
15550              
15551 23 50       76 Parse::RecDescent::_trace(q{>>Matched production: []<<},
15552             Parse::RecDescent::_tracefirst($text),
15553             q{value_nestlist_elem},
15554             $tracelevel)
15555             if defined $::RD_TRACE;
15556              
15557              
15558              
15559 23         35 $_matched = 1;
15560 23         49 last;
15561             }
15562              
15563              
15564 46         219 while (!$_matched)
15565             {
15566            
15567 23 50       72 Parse::RecDescent::_trace(q{Trying production: []},
15568             Parse::RecDescent::_tracefirst($_[1]),
15569             q{value_nestlist_elem},
15570             $tracelevel)
15571             if defined $::RD_TRACE;
15572 23         59 my $thisprod = $thisrule->{"prods"}[2];
15573            
15574 23         35 my $_savetext;
15575 23         57 @item = (q{value_nestlist_elem});
15576 23         64 %item = (__RULE__ => q{value_nestlist_elem});
15577 23         47 my $repcount = 0;
15578              
15579              
15580            
15581              
15582 23 50       81 Parse::RecDescent::_trace(q{Trying directive: []},
15583             Parse::RecDescent::_tracefirst($text),
15584             q{value_nestlist_elem},
15585             $tracelevel)
15586             if defined $::RD_TRACE;
15587 23 50       32 $_tok = do { if (1) { do {
  23         36  
  23         61  
15588 23         46 my $rule = $item[0];
15589 23         101 $rule =~ s/_/ /g;
15590             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
15591 23         35 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  23         124  
15592 23         563 } unless $_noactions; undef } else {0} };
15593 23 50       71 if (defined($_tok))
15594             {
15595 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
15596             . $_tok . q{])},
15597             Parse::RecDescent::_tracefirst($text))
15598             if defined $::RD_TRACE;
15599             }
15600             else
15601             {
15602 23 50       87 Parse::RecDescent::_trace(q{<>},
15603             Parse::RecDescent::_tracefirst($text))
15604             if defined $::RD_TRACE;
15605             }
15606            
15607 23 50       69 last unless defined $_tok;
15608 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
15609            
15610              
15611 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
15612             Parse::RecDescent::_tracefirst($text),
15613             q{value_nestlist_elem},
15614             $tracelevel)
15615             if defined $::RD_TRACE;
15616              
15617              
15618              
15619 0         0 $_matched = 1;
15620 0         0 last;
15621             }
15622              
15623              
15624 46 100 66     204 unless ( $_matched || defined($score) )
15625             {
15626            
15627              
15628 23         70 $_[1] = $text; # NOT SURE THIS IS NEEDED
15629 23 50       72 Parse::RecDescent::_trace(q{<>},
15630             Parse::RecDescent::_tracefirst($_[1]),
15631             q{value_nestlist_elem},
15632             $tracelevel)
15633             if defined $::RD_TRACE;
15634 23         168 return undef;
15635             }
15636 23 50 33     136 if (!defined($return) && defined($score))
15637             {
15638 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
15639             q{value_nestlist_elem},
15640             $tracelevel)
15641             if defined $::RD_TRACE;
15642 0         0 $return = $score_return;
15643             }
15644 23         32 splice @{$thisparser->{errors}}, $err_at;
  23         57  
15645 23 50       89 $return = $item[$#item] unless defined $return;
15646 23 50       86 if (defined $::RD_TRACE)
15647             {
15648 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
15649             $return . q{])}, "",
15650             q{value_nestlist_elem},
15651             $tracelevel);
15652 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
15653             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
15654             Parse::RecDescent::_tracefirst($text),
15655             , q{value_nestlist_elem},
15656             $tracelevel)
15657             }
15658 23         55 $_[1] = $text;
15659 23         186 return $return;
15660             }
15661              
15662             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args, $_itempos)
15663             sub Parse::RecDescent::Config::Maker::Grammar::value_identifier
15664             {
15665 367     367   616 my $thisparser = $_[0];
15666 9     9   63 use vars q{$tracelevel};
  9         23  
  9         4785  
15667 367   50     8352 local $tracelevel = ($tracelevel||0)+1;
15668 367         517 $ERRORS = 0;
15669 367         7977 my $thisrule = $thisparser->{"rules"}{"value_identifier"};
15670              
15671 367 50       865 Parse::RecDescent::_trace(q{Trying rule: [value_identifier]},
15672             Parse::RecDescent::_tracefirst($_[1]),
15673             q{value_identifier},
15674             $tracelevel)
15675             if defined $::RD_TRACE;
15676              
15677            
15678 367         506 my $err_at = @{$thisparser->{errors}};
  367         802  
15679              
15680 367         3406 my $score;
15681             my $score_return;
15682 0         0 my $_tok;
15683 367         494 my $return = undef;
15684 367         476 my $_matched=0;
15685 367         484 my $commit=0;
15686 367         647 my @item = ();
15687 367         689 my %item = ();
15688 367         559 my $repeating = $_[2];
15689 367         450 my $_noactions = $_[3];
15690 367 50       904 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  367         473  
  367         876  
15691 367         651 my $_itempos = $_[5];
15692 367 100       1182 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
15693 367         753 my $text;
15694             my $lastsep;
15695 0         0 my $current_match;
15696 367         1416 my $expectation = new Parse::RecDescent::Expectation(q{identifier});
15697 367         4626 $expectation->at($_[1]);
15698            
15699 367         1923 my $thisline;
15700 367         1745 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
15701              
15702            
15703              
15704 367   33     4050 while (!$_matched && !$commit)
15705             {
15706            
15707 367 50       1192 Parse::RecDescent::_trace(q{Trying production: [identifier]},
15708             Parse::RecDescent::_tracefirst($_[1]),
15709             q{value_identifier},
15710             $tracelevel)
15711             if defined $::RD_TRACE;
15712 367         995 my $thisprod = $thisrule->{"prods"}[0];
15713 367         650 $text = $_[1];
15714 367         446 my $_savetext;
15715 367         872 @item = (q{value_identifier});
15716 367         966 %item = (__RULE__ => q{value_identifier});
15717 367         512 my $repcount = 0;
15718              
15719              
15720 367 50       1571 Parse::RecDescent::_trace(q{Trying subrule: [identifier]},
15721             Parse::RecDescent::_tracefirst($text),
15722             q{value_identifier},
15723             $tracelevel)
15724             if defined $::RD_TRACE;
15725 9     9   60 if (1) { no strict qw{refs};
  9         18  
  9         142319  
  367         1660  
15726 367         1180 $expectation->is(q{})->at($text);
15727 367 50   367   4151 unless (defined ($_tok = Parse::RecDescent::Config::Maker::Grammar::identifier($thisparser,$text,$repeating,$_noactions,sub { \@arg },undef)))
  367         1133  
15728             {
15729            
15730 0 0       0 Parse::RecDescent::_trace(q{<>},
15731             Parse::RecDescent::_tracefirst($text),
15732             q{value_identifier},
15733             $tracelevel)
15734             if defined $::RD_TRACE;
15735 0         0 $expectation->failed();
15736 0         0 last;
15737             }
15738 367 50       1726 Parse::RecDescent::_trace(q{>>Matched subrule: [identifier]<< (return value: [}
15739             . $_tok . q{]},
15740              
15741             Parse::RecDescent::_tracefirst($text),
15742             q{value_identifier},
15743             $tracelevel)
15744             if defined $::RD_TRACE;
15745 367         985 $item{q{identifier}} = $_tok;
15746 367         684 push @item, $_tok;
15747            
15748             }
15749              
15750 367 50       821 Parse::RecDescent::_trace(q{>>Matched production: [identifier]<<},
15751             Parse::RecDescent::_tracefirst($text),
15752             q{value_identifier},
15753             $tracelevel)
15754             if defined $::RD_TRACE;
15755              
15756              
15757              
15758 367         489 $_matched = 1;
15759 367         648 last;
15760             }
15761              
15762              
15763 367         1049 while (!$_matched)
15764             {
15765            
15766 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
15767             Parse::RecDescent::_tracefirst($_[1]),
15768             q{value_identifier},
15769             $tracelevel)
15770             if defined $::RD_TRACE;
15771 0         0 my $thisprod = $thisrule->{"prods"}[1];
15772            
15773 0         0 my $_savetext;
15774 0         0 @item = (q{value_identifier});
15775 0         0 %item = (__RULE__ => q{value_identifier});
15776 0         0 my $repcount = 0;
15777              
15778              
15779            
15780              
15781 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
15782             Parse::RecDescent::_tracefirst($text),
15783             q{value_identifier},
15784             $tracelevel)
15785             if defined $::RD_TRACE;
15786 0 0       0 $_tok = do { if (1) { do {
  0         0  
  0         0  
15787 0         0 my $rule = $item[0];
15788 0         0 $rule =~ s/_/ /g;
15789             #WAS: Parse::RecDescent::_error("Invalid $rule: " . $expectation->message() ,$thisline);
15790 0         0 push @{$thisparser->{errors}}, ["Invalid $rule: " . $expectation->message() ,$thisline];
  0         0  
15791 0         0 } unless $_noactions; undef } else {0} };
15792 0 0       0 if (defined($_tok))
15793             {
15794 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
15795             . $_tok . q{])},
15796             Parse::RecDescent::_tracefirst($text))
15797             if defined $::RD_TRACE;
15798             }
15799             else
15800             {
15801 0 0       0 Parse::RecDescent::_trace(q{<>},
15802             Parse::RecDescent::_tracefirst($text))
15803             if defined $::RD_TRACE;
15804             }
15805            
15806 0 0       0 last unless defined $_tok;
15807 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
15808            
15809              
15810 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
15811             Parse::RecDescent::_tracefirst($text),
15812             q{value_identifier},
15813             $tracelevel)
15814             if defined $::RD_TRACE;
15815              
15816              
15817              
15818 0         0 $_matched = 1;
15819 0         0 last;
15820             }
15821              
15822              
15823 367 50 33     1022 unless ( $_matched || defined($score) )
15824             {
15825            
15826              
15827 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
15828 0 0       0 Parse::RecDescent::_trace(q{<>},
15829             Parse::RecDescent::_tracefirst($_[1]),
15830             q{value_identifier},
15831             $tracelevel)
15832             if defined $::RD_TRACE;
15833 0         0 return undef;
15834             }
15835 367 50 33     2989 if (!defined($return) && defined($score))
15836             {
15837 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
15838             q{value_identifier},
15839             $tracelevel)
15840             if defined $::RD_TRACE;
15841 0         0 $return = $score_return;
15842             }
15843 367         456 splice @{$thisparser->{errors}}, $err_at;
  367         868  
15844 367 50       1099 $return = $item[$#item] unless defined $return;
15845 367 50       1186 if (defined $::RD_TRACE)
15846             {
15847 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
15848             $return . q{])}, "",
15849             q{value_identifier},
15850             $tracelevel);
15851 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
15852             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
15853             Parse::RecDescent::_tracefirst($text),
15854             , q{value_identifier},
15855             $tracelevel)
15856             }
15857 367         976 $_[1] = $text;
15858 367         3196 return $return;
15859             }
15860             }
15861 9     9 0 20667 package Config::Maker::Grammar; sub new { my $self = bless( {
15862             '_AUTOTREE' => undef,
15863             'namespace' => 'Parse::RecDescent::Config::Maker::Grammar',
15864             'startcode' => '',
15865             '_check' => {
15866             'prevoffset' => '',
15867             'prevcolumn' => '',
15868             'thisoffset' => '',
15869             'prevline' => '',
15870             'thiscolumn' => '',
15871             'itempos' => ''
15872             },
15873             'localvars' => '',
15874             '_AUTOACTION' => undef,
15875             'rules' => {
15876             'ifrest' => bless( {
15877             'name' => 'ifrest',
15878             'changed' => 0,
15879             'impcount' => 0,
15880             'opcount' => 0,
15881             'line' => 185,
15882             'prods' => [
15883             bless( {
15884             'items' => [
15885             bless( {
15886             'argcode' => '[\'elsif\', perlcode => \'()\']',
15887             'implicit' => undef,
15888             'line' => 185,
15889             'lookahead' => 0,
15890             'matchrule' => 0,
15891             'subrule' => 'opener'
15892             }, 'Parse::RecDescent::Subrule' ),
15893             bless( {
15894             'hashname' => '__DIRECTIVE1__',
15895             'code' => '$commit = 1',
15896             'name' => '',
15897             'line' => 185,
15898             'lookahead' => 0
15899             }, 'Parse::RecDescent::Directive' ),
15900             bless( {
15901             'line' => 185,
15902             'max' => 100000000,
15903             'expected' => undef,
15904             'repspec' => 's',
15905             'argcode' => undef,
15906             'subrule' => 'directive',
15907             'matchrule' => 0,
15908             'lookahead' => 0,
15909             'min' => 1
15910             }, 'Parse::RecDescent::Repetition' ),
15911             bless( {
15912             'lookahead' => 0,
15913             'matchrule' => 0,
15914             'subrule' => 'ifrest',
15915             'line' => 185,
15916             'argcode' => undef,
15917             'implicit' => undef
15918             }, 'Parse::RecDescent::Subrule' ),
15919             bless( {
15920             'code' => '{
15921             my $expr = $item[1];
15922             my @parts = @{$item[3]};
15923             my $else = $item[4];
15924             sub {
15925             if(Config::Maker::exe($expr)) {
15926             Config::Maker::Driver::apply(@parts);
15927             } else {
15928             Config::Maker::Driver::apply($else);
15929             }
15930             }
15931             }',
15932             'hashname' => '__ACTION1__',
15933             'lookahead' => 0,
15934             'line' => 186
15935             }, 'Parse::RecDescent::Action' )
15936             ],
15937             'strcount' => 0,
15938             'patcount' => 0,
15939             'number' => 0,
15940             'error' => undef,
15941             'line' => undef,
15942             'actcount' => 1,
15943             'dircount' => 1,
15944             'uncommit' => undef
15945             }, 'Parse::RecDescent::Production' ),
15946             bless( {
15947             'line' => undef,
15948             'uncommit' => undef,
15949             'actcount' => 1,
15950             'dircount' => 1,
15951             'items' => [
15952             bless( {
15953             'argcode' => '[\'elsif\', pair => [\'identifier\'], [\'path\']]',
15954             'implicit' => undef,
15955             'lookahead' => 0,
15956             'subrule' => 'opener',
15957             'matchrule' => 0,
15958             'line' => 199
15959             }, 'Parse::RecDescent::Subrule' ),
15960             bless( {
15961             'line' => 199,
15962             'lookahead' => 0,
15963             'hashname' => '__DIRECTIVE1__',
15964             'code' => '$commit = 1',
15965             'name' => ''
15966             }, 'Parse::RecDescent::Directive' ),
15967             bless( {
15968             'argcode' => undef,
15969             'expected' => undef,
15970             'max' => 100000000,
15971             'line' => 200,
15972             'repspec' => 's',
15973             'min' => 1,
15974             'lookahead' => 0,
15975             'subrule' => 'directive',
15976             'matchrule' => 0
15977             }, 'Parse::RecDescent::Repetition' ),
15978             bless( {
15979             'line' => 200,
15980             'subrule' => 'ifrest',
15981             'matchrule' => 0,
15982             'lookahead' => 0,
15983             'implicit' => undef,
15984             'argcode' => undef
15985             }, 'Parse::RecDescent::Subrule' ),
15986             bless( {
15987             'code' => '{
15988             my ($test, $path) = @{$item[1]};
15989             my @parts = @{$item[3]};
15990             my $else = $item[4];
15991             sub {
15992             die "No if test \'$test\'"
15993             unless $Config::Maker::Path::checks{$test};
15994             if($Config::Maker::Path::checks{$test}($path)) {
15995             Config::Maker::Driver::apply(@parts);
15996             } else {
15997             Config::Maker::Driver::apply($else);
15998             }
15999             }
16000             }',
16001             'hashname' => '__ACTION1__',
16002             'lookahead' => 0,
16003             'line' => 201
16004             }, 'Parse::RecDescent::Action' )
16005             ],
16006             'number' => 1,
16007             'strcount' => 0,
16008             'patcount' => 0,
16009             'error' => undef
16010             }, 'Parse::RecDescent::Production' ),
16011             bless( {
16012             'actcount' => 1,
16013             'dircount' => 1,
16014             'uncommit' => undef,
16015             'line' => undef,
16016             'strcount' => 0,
16017             'patcount' => 0,
16018             'number' => 2,
16019             'error' => undef,
16020             'items' => [
16021             bless( {
16022             'line' => 216,
16023             'matchrule' => 0,
16024             'subrule' => 'opener',
16025             'lookahead' => 0,
16026             'implicit' => undef,
16027             'argcode' => '[\'else\', \'void\']'
16028             }, 'Parse::RecDescent::Subrule' ),
16029             bless( {
16030             'lookahead' => 0,
16031             'line' => 216,
16032             'name' => '',
16033             'code' => '$commit = 1',
16034             'hashname' => '__DIRECTIVE1__'
16035             }, 'Parse::RecDescent::Directive' ),
16036             bless( {
16037             'expected' => undef,
16038             'max' => 100000000,
16039             'line' => 216,
16040             'repspec' => 's',
16041             'argcode' => undef,
16042             'lookahead' => 0,
16043             'subrule' => 'directive',
16044             'matchrule' => 0,
16045             'min' => 1
16046             }, 'Parse::RecDescent::Repetition' ),
16047             bless( {
16048             'implicit' => undef,
16049             'argcode' => '[\'if\']',
16050             'matchrule' => 0,
16051             'subrule' => 'closer',
16052             'lookahead' => 0,
16053             'line' => 216
16054             }, 'Parse::RecDescent::Subrule' ),
16055             bless( {
16056             'code' => '{
16057             my @parts = @{$item[3]};
16058             sub {
16059             Config::Maker::Driver::apply(@parts);
16060             }
16061             }',
16062             'hashname' => '__ACTION1__',
16063             'lookahead' => 0,
16064             'line' => 217
16065             }, 'Parse::RecDescent::Action' )
16066             ]
16067             }, 'Parse::RecDescent::Production' ),
16068             bless( {
16069             'uncommit' => undef,
16070             'actcount' => 1,
16071             'dircount' => 0,
16072             'line' => undef,
16073             'number' => 3,
16074             'strcount' => 0,
16075             'patcount' => 0,
16076             'error' => undef,
16077             'items' => [
16078             bless( {
16079             'line' => 224,
16080             'matchrule' => 0,
16081             'subrule' => 'closer',
16082             'lookahead' => 0,
16083             'implicit' => undef,
16084             'argcode' => '[\'if\']'
16085             }, 'Parse::RecDescent::Subrule' ),
16086             bless( {
16087             'code' => '{ \'\'; }',
16088             'hashname' => '__ACTION1__',
16089             'lookahead' => 0,
16090             'line' => 224
16091             }, 'Parse::RecDescent::Action' )
16092             ]
16093             }, 'Parse::RecDescent::Production' )
16094             ],
16095             'vars' => '',
16096             'calls' => [
16097             'opener',
16098             'directive',
16099             'ifrest',
16100             'closer'
16101             ]
16102             }, 'Parse::RecDescent::Rule' ),
16103             'value_nested_list' => bless( {
16104             'impcount' => 0,
16105             'changed' => 0,
16106             'name' => 'value_nested_list',
16107             'opcount' => 0,
16108             'line' => 367,
16109             'prods' => [
16110             bless( {
16111             'line' => undef,
16112             'uncommit' => undef,
16113             'dircount' => 0,
16114             'actcount' => 1,
16115             'items' => [
16116             bless( {
16117             'description' => '\'[\'',
16118             'hashname' => '__STRING1__',
16119             'pattern' => '[',
16120             'lookahead' => 0,
16121             'line' => 368
16122             }, 'Parse::RecDescent::Literal' ),
16123             bless( {
16124             'min' => 0,
16125             'lookahead' => 0,
16126             'matchrule' => 0,
16127             'subrule' => 'value_nestlist_elem',
16128             'argcode' => '[@arg]',
16129             'repspec' => 's?',
16130             'max' => 100000000,
16131             'expected' => undef,
16132             'line' => 368
16133             }, 'Parse::RecDescent::Repetition' ),
16134             bless( {
16135             'line' => 368,
16136             'lookahead' => 0,
16137             'pattern' => ']',
16138             'hashname' => '__STRING2__',
16139             'description' => '\']\''
16140             }, 'Parse::RecDescent::Literal' ),
16141             bless( {
16142             'line' => 369,
16143             'lookahead' => 0,
16144             'hashname' => '__ACTION1__',
16145             'code' => '{ new Config::Maker::Value::List($item[2]); }'
16146             }, 'Parse::RecDescent::Action' )
16147             ],
16148             'number' => 0,
16149             'strcount' => 2,
16150             'patcount' => 0,
16151             'error' => undef
16152             }, 'Parse::RecDescent::Production' ),
16153             bless( {
16154             'line' => 370,
16155             'actcount' => 0,
16156             'dircount' => 1,
16157             'uncommit' => 0,
16158             'items' => [
16159             bless( {
16160             'hashname' => '__DIRECTIVE1__',
16161             'msg' => '',
16162             'commitonly' => '',
16163             'lookahead' => 0,
16164             'line' => 370
16165             }, 'Parse::RecDescent::Error' )
16166             ],
16167             'error' => 1,
16168             'patcount' => 0,
16169             'strcount' => 0,
16170             'number' => 1
16171             }, 'Parse::RecDescent::Production' )
16172             ],
16173             'calls' => [
16174             'value_nestlist_elem'
16175             ],
16176             'vars' => ''
16177             }, 'Parse::RecDescent::Rule' ),
16178             'value_zero_list' => bless( {
16179             'calls' => [
16180             'value'
16181             ],
16182             'prods' => [
16183             bless( {
16184             'error' => undef,
16185             'strcount' => 0,
16186             'patcount' => 0,
16187             'number' => 0,
16188             'items' => [
16189             bless( {
16190             'min' => 0,
16191             'subrule' => 'value',
16192             'matchrule' => 0,
16193             'lookahead' => 0,
16194             'argcode' => '[@arg]',
16195             'repspec' => 's?',
16196             'line' => 363,
16197             'max' => 100000000,
16198             'expected' => undef
16199             }, 'Parse::RecDescent::Repetition' ),
16200             bless( {
16201             'lookahead' => 0,
16202             'line' => 364,
16203             'code' => '{ new Config::Maker::Value::List($item[1]); }',
16204             'hashname' => '__ACTION1__'
16205             }, 'Parse::RecDescent::Action' )
16206             ],
16207             'dircount' => 0,
16208             'actcount' => 1,
16209             'uncommit' => undef,
16210             'line' => undef
16211             }, 'Parse::RecDescent::Production' ),
16212             bless( {
16213             'patcount' => 0,
16214             'strcount' => 0,
16215             'number' => 1,
16216             'error' => 1,
16217             'items' => [
16218             bless( {
16219             'commitonly' => '',
16220             'lookahead' => 0,
16221             'line' => 365,
16222             'hashname' => '__DIRECTIVE1__',
16223             'msg' => ''
16224             }, 'Parse::RecDescent::Error' )
16225             ],
16226             'actcount' => 0,
16227             'dircount' => 1,
16228             'uncommit' => 0,
16229             'line' => 365
16230             }, 'Parse::RecDescent::Production' )
16231             ],
16232             'vars' => '',
16233             'impcount' => 0,
16234             'changed' => 0,
16235             'name' => 'value_zero_list',
16236             'opcount' => 0,
16237             'line' => 362
16238             }, 'Parse::RecDescent::Rule' ),
16239             'decint' => bless( {
16240             'impcount' => 0,
16241             'changed' => 0,
16242             'name' => 'decint',
16243             'opcount' => 0,
16244             'line' => 21,
16245             'calls' => [],
16246             'prods' => [
16247             bless( {
16248             'items' => [
16249             bless( {
16250             'line' => 22,
16251             'mod' => '',
16252             'description' => '/[+-]\\\\d+/',
16253             'hashname' => '__PATTERN1__',
16254             'pattern' => '[+-]\\d+',
16255             'lookahead' => 0,
16256             'rdelim' => '/',
16257             'ldelim' => '/'
16258             }, 'Parse::RecDescent::Token' ),
16259             bless( {
16260             'line' => 22,
16261             'lookahead' => 0,
16262             'hashname' => '__DIRECTIVE1__',
16263             'code' => '$commit = 1',
16264             'name' => ''
16265             }, 'Parse::RecDescent::Directive' ),
16266             bless( {
16267             'code' => '{ Config::Maker::limit(0 + $item[1], @arg); }',
16268             'hashname' => '__ACTION1__',
16269             'lookahead' => 0,
16270             'line' => 22
16271             }, 'Parse::RecDescent::Action' )
16272             ],
16273             'error' => undef,
16274             'strcount' => 0,
16275             'patcount' => 1,
16276             'number' => 0,
16277             'line' => undef,
16278             'dircount' => 1,
16279             'actcount' => 1,
16280             'uncommit' => undef
16281             }, 'Parse::RecDescent::Production' ),
16282             bless( {
16283             'patcount' => 1,
16284             'strcount' => 0,
16285             'number' => 1,
16286             'error' => undef,
16287             'items' => [
16288             bless( {
16289             'lookahead' => 0,
16290             'pattern' => '[1-9]\\d*|0',
16291             'ldelim' => '/',
16292             'rdelim' => '/',
16293             'line' => 24,
16294             'hashname' => '__PATTERN1__',
16295             'description' => '/[1-9]\\\\d*|0/',
16296             'mod' => ''
16297             }, 'Parse::RecDescent::Token' ),
16298             bless( {
16299             'line' => 24,
16300             'lookahead' => 0,
16301             'hashname' => '__DIRECTIVE1__',
16302             'code' => '$commit = 1',
16303             'name' => ''
16304             }, 'Parse::RecDescent::Directive' ),
16305             bless( {
16306             'lookahead' => 0,
16307             'line' => 24,
16308             'code' => '{ Config::Maker::limit(0 + $item[1], @arg); }',
16309             'hashname' => '__ACTION1__'
16310             }, 'Parse::RecDescent::Action' )
16311             ],
16312             'actcount' => 1,
16313             'dircount' => 1,
16314             'uncommit' => undef,
16315             'line' => 23
16316             }, 'Parse::RecDescent::Production' ),
16317             bless( {
16318             'actcount' => 0,
16319             'dircount' => 2,
16320             'uncommit' => 0,
16321             'line' => 25,
16322             'error' => 1,
16323             'strcount' => 0,
16324             'patcount' => 0,
16325             'number' => 2,
16326             'items' => [
16327             bless( {
16328             'hashname' => '__DIRECTIVE1__',
16329             'msg' => ' Number $item[1] out of range',
16330             'line' => 26,
16331             'commitonly' => '?',
16332             'lookahead' => 0
16333             }, 'Parse::RecDescent::Error' ),
16334             bless( {
16335             'hashname' => '__DIRECTIVE2__',
16336             'name' => '',
16337             'line' => 26,
16338             'lookahead' => 0
16339             }, 'Parse::RecDescent::UncondReject' )
16340             ]
16341             }, 'Parse::RecDescent::Production' )
16342             ],
16343             'vars' => ''
16344             }, 'Parse::RecDescent::Rule' ),
16345             'type' => bless( {
16346             'name' => 'type',
16347             'changed' => 0,
16348             'impcount' => 0,
16349             'opcount' => 0,
16350             'line' => 305,
16351             'prods' => [
16352             bless( {
16353             'items' => [
16354             bless( {
16355             'argcode' => undef,
16356             'implicit' => undef,
16357             'line' => 306,
16358             'lookahead' => 0,
16359             'subrule' => 'identifier',
16360             'matchrule' => 0
16361             }, 'Parse::RecDescent::Subrule' ),
16362             bless( {
16363             'name' => '',
16364             'code' => '$commit = 1',
16365             'hashname' => '__DIRECTIVE1__',
16366             'lookahead' => 0,
16367             'line' => 307
16368             }, 'Parse::RecDescent::Directive' ),
16369             bless( {
16370             'hashname' => '__ACTION1__',
16371             'code' => '{ eval { $arg[0]->get($item[1]); } }',
16372             'line' => 308,
16373             'lookahead' => 0
16374             }, 'Parse::RecDescent::Action' )
16375             ],
16376             'error' => undef,
16377             'number' => 0,
16378             'strcount' => 0,
16379             'patcount' => 0,
16380             'line' => undef,
16381             'uncommit' => undef,
16382             'actcount' => 1,
16383             'dircount' => 1
16384             }, 'Parse::RecDescent::Production' ),
16385             bless( {
16386             'line' => 309,
16387             'uncommit' => 0,
16388             'dircount' => 2,
16389             'actcount' => 0,
16390             'items' => [
16391             bless( {
16392             'msg' => ' $@',
16393             'hashname' => '__DIRECTIVE1__',
16394             'line' => 310,
16395             'lookahead' => 0,
16396             'commitonly' => '?'
16397             }, 'Parse::RecDescent::Error' ),
16398             bless( {
16399             'hashname' => '__DIRECTIVE2__',
16400             'name' => '',
16401             'line' => 310,
16402             'lookahead' => 0
16403             }, 'Parse::RecDescent::UncondReject' )
16404             ],
16405             'error' => 1,
16406             'number' => 1,
16407             'strcount' => 0,
16408             'patcount' => 0
16409             }, 'Parse::RecDescent::Production' )
16410             ],
16411             'vars' => '',
16412             'calls' => [
16413             'identifier'
16414             ]
16415             }, 'Parse::RecDescent::Rule' ),
16416             'path_whole' => bless( {
16417             'calls' => [
16418             'path',
16419             'eof'
16420             ],
16421             'prods' => [
16422             bless( {
16423             'items' => [
16424             bless( {
16425             'name' => '',
16426             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
16427             'hashname' => '__DIRECTIVE1__',
16428             'lookahead' => 0,
16429             'line' => 40
16430             }, 'Parse::RecDescent::Directive' ),
16431             bless( {
16432             'implicit' => undef,
16433             'argcode' => undef,
16434             'line' => 40,
16435             'matchrule' => 0,
16436             'subrule' => 'path',
16437             'lookahead' => 0
16438             }, 'Parse::RecDescent::Subrule' ),
16439             bless( {
16440             'argcode' => undef,
16441             'implicit' => undef,
16442             'lookahead' => 0,
16443             'subrule' => 'eof',
16444             'matchrule' => 0,
16445             'line' => 40
16446             }, 'Parse::RecDescent::Subrule' ),
16447             bless( {
16448             'lookahead' => 0,
16449             'line' => 40,
16450             'code' => '{ $item{path}; }',
16451             'hashname' => '__ACTION1__'
16452             }, 'Parse::RecDescent::Action' )
16453             ],
16454             'error' => undef,
16455             'patcount' => 0,
16456             'strcount' => 0,
16457             'number' => 0,
16458             'line' => undef,
16459             'actcount' => 1,
16460             'dircount' => 1,
16461             'uncommit' => undef
16462             }, 'Parse::RecDescent::Production' )
16463             ],
16464             'vars' => '',
16465             'name' => 'path_whole',
16466             'changed' => 0,
16467             'impcount' => 0,
16468             'opcount' => 0,
16469             'line' => 38
16470             }, 'Parse::RecDescent::Rule' ),
16471             'value_string' => bless( {
16472             'vars' => '',
16473             'calls' => [
16474             'literal'
16475             ],
16476             'prods' => [
16477             bless( {
16478             'items' => [
16479             bless( {
16480             'argcode' => undef,
16481             'implicit' => undef,
16482             'lookahead' => 0,
16483             'subrule' => 'literal',
16484             'matchrule' => 0,
16485             'line' => 392
16486             }, 'Parse::RecDescent::Subrule' )
16487             ],
16488             'patcount' => 0,
16489             'strcount' => 0,
16490             'number' => 0,
16491             'error' => undef,
16492             'line' => undef,
16493             'dircount' => 0,
16494             'actcount' => 0,
16495             'uncommit' => undef
16496             }, 'Parse::RecDescent::Production' ),
16497             bless( {
16498             'line' => 393,
16499             'uncommit' => 0,
16500             'dircount' => 1,
16501             'actcount' => 0,
16502             'items' => [
16503             bless( {
16504             'lookahead' => 0,
16505             'commitonly' => '',
16506             'line' => 393,
16507             'msg' => '',
16508             'hashname' => '__DIRECTIVE1__'
16509             }, 'Parse::RecDescent::Error' )
16510             ],
16511             'error' => 1,
16512             'number' => 1,
16513             'patcount' => 0,
16514             'strcount' => 0
16515             }, 'Parse::RecDescent::Production' )
16516             ],
16517             'opcount' => 0,
16518             'line' => 390,
16519             'name' => 'value_string',
16520             'changed' => 0,
16521             'impcount' => 0
16522             }, 'Parse::RecDescent::Rule' ),
16523             'relpath' => bless( {
16524             'changed' => 0,
16525             'name' => 'relpath',
16526             'impcount' => 0,
16527             'opcount' => 0,
16528             'line' => 60,
16529             'prods' => [
16530             bless( {
16531             'error' => undef,
16532             'number' => 0,
16533             'strcount' => 0,
16534             'patcount' => 0,
16535             'items' => [
16536             bless( {
16537             'implicit' => undef,
16538             'argcode' => '[\'**\']',
16539             'matchrule' => 0,
16540             'subrule' => 'nonglob',
16541             'lookahead' => 0,
16542             'line' => 60
16543             }, 'Parse::RecDescent::Subrule' ),
16544             bless( {
16545             'line' => 60,
16546             'lookahead' => 0,
16547             'subrule' => 'ptail',
16548             'matchrule' => 0,
16549             'argcode' => undef,
16550             'implicit' => undef
16551             }, 'Parse::RecDescent::Subrule' ),
16552             bless( {
16553             'code' => '{
16554             new Config::Maker::Path::AnyPath(@{$item[-1]});
16555             }',
16556             'hashname' => '__ACTION1__',
16557             'lookahead' => 0,
16558             'line' => 61
16559             }, 'Parse::RecDescent::Action' )
16560             ],
16561             'uncommit' => undef,
16562             'dircount' => 0,
16563             'actcount' => 1,
16564             'line' => undef
16565             }, 'Parse::RecDescent::Production' ),
16566             bless( {
16567             'number' => 1,
16568             'patcount' => 0,
16569             'strcount' => 0,
16570             'error' => undef,
16571             'items' => [
16572             bless( {
16573             'line' => 64,
16574             'lookahead' => 0,
16575             'subrule' => 'nonglob',
16576             'matchrule' => 0,
16577             'argcode' => '[\'..\']',
16578             'implicit' => undef
16579             }, 'Parse::RecDescent::Subrule' ),
16580             bless( {
16581             'implicit' => undef,
16582             'argcode' => undef,
16583             'subrule' => 'ptail',
16584             'matchrule' => 0,
16585             'lookahead' => 0,
16586             'line' => 64
16587             }, 'Parse::RecDescent::Subrule' ),
16588             bless( {
16589             'hashname' => '__ACTION1__',
16590             'code' => '{
16591             new Config::Maker::Path::Parent(@{$item[-1]});
16592             }',
16593             'line' => 65,
16594             'lookahead' => 0
16595             }, 'Parse::RecDescent::Action' )
16596             ],
16597             'uncommit' => undef,
16598             'actcount' => 1,
16599             'dircount' => 0,
16600             'line' => 64
16601             }, 'Parse::RecDescent::Production' ),
16602             bless( {
16603             'items' => [
16604             bless( {
16605             'implicit' => undef,
16606             'argcode' => '[\'.\']',
16607             'matchrule' => 0,
16608             'subrule' => 'nonglob',
16609             'lookahead' => 0,
16610             'line' => 68
16611             }, 'Parse::RecDescent::Subrule' ),
16612             bless( {
16613             'argcode' => undef,
16614             'implicit' => undef,
16615             'lookahead' => 0,
16616             'subrule' => 'ptail',
16617             'matchrule' => 0,
16618             'line' => 68
16619             }, 'Parse::RecDescent::Subrule' ),
16620             bless( {
16621             'lookahead' => 0,
16622             'line' => 69,
16623             'code' => '{
16624             new Config::Maker::Path::This(@{$item[-1]});
16625             }',
16626             'hashname' => '__ACTION1__'
16627             }, 'Parse::RecDescent::Action' )
16628             ],
16629             'error' => undef,
16630             'patcount' => 0,
16631             'strcount' => 0,
16632             'number' => 2,
16633             'line' => 68,
16634             'actcount' => 1,
16635             'dircount' => 0,
16636             'uncommit' => undef
16637             }, 'Parse::RecDescent::Production' ),
16638             bless( {
16639             'line' => 72,
16640             'uncommit' => undef,
16641             'dircount' => 0,
16642             'actcount' => 1,
16643             'items' => [
16644             bless( {
16645             'argcode' => undef,
16646             'implicit' => undef,
16647             'line' => 72,
16648             'lookahead' => 0,
16649             'subrule' => 'pcomponent',
16650             'matchrule' => 0
16651             }, 'Parse::RecDescent::Subrule' ),
16652             bless( {
16653             'implicit' => undef,
16654             'argcode' => undef,
16655             'subrule' => 'ptail',
16656             'matchrule' => 0,
16657             'lookahead' => 0,
16658             'line' => 72
16659             }, 'Parse::RecDescent::Subrule' ),
16660             bless( {
16661             'line' => 73,
16662             'lookahead' => 0,
16663             'hashname' => '__ACTION1__',
16664             'code' => '{
16665             new Config::Maker::Path(%{$item[1]}, @{$item[-1]});
16666             }'
16667             }, 'Parse::RecDescent::Action' )
16668             ],
16669             'number' => 3,
16670             'patcount' => 0,
16671             'strcount' => 0,
16672             'error' => undef
16673             }, 'Parse::RecDescent::Production' )
16674             ],
16675             'calls' => [
16676             'nonglob',
16677             'ptail',
16678             'pcomponent'
16679             ],
16680             'vars' => ''
16681             }, 'Parse::RecDescent::Rule' ),
16682             'integer' => bless( {
16683             'prods' => [
16684             bless( {
16685             'dircount' => 0,
16686             'actcount' => 0,
16687             'uncommit' => undef,
16688             'line' => undef,
16689             'strcount' => 0,
16690             'patcount' => 0,
16691             'number' => 0,
16692             'error' => undef,
16693             'items' => [
16694             bless( {
16695             'implicit' => undef,
16696             'argcode' => '[@arg]',
16697             'subrule' => 'hexint',
16698             'matchrule' => 0,
16699             'lookahead' => 0,
16700             'line' => 28
16701             }, 'Parse::RecDescent::Subrule' )
16702             ]
16703             }, 'Parse::RecDescent::Production' ),
16704             bless( {
16705             'line' => 28,
16706             'uncommit' => undef,
16707             'actcount' => 0,
16708             'dircount' => 0,
16709             'items' => [
16710             bless( {
16711             'implicit' => undef,
16712             'argcode' => '[@arg]',
16713             'line' => 28,
16714             'matchrule' => 0,
16715             'subrule' => 'octint',
16716             'lookahead' => 0
16717             }, 'Parse::RecDescent::Subrule' )
16718             ],
16719             'number' => 1,
16720             'patcount' => 0,
16721             'strcount' => 0,
16722             'error' => undef
16723             }, 'Parse::RecDescent::Production' ),
16724             bless( {
16725             'uncommit' => undef,
16726             'actcount' => 0,
16727             'dircount' => 0,
16728             'line' => 28,
16729             'number' => 2,
16730             'patcount' => 0,
16731             'strcount' => 0,
16732             'error' => undef,
16733             'items' => [
16734             bless( {
16735             'argcode' => '[@arg]',
16736             'implicit' => undef,
16737             'lookahead' => 0,
16738             'subrule' => 'decint',
16739             'matchrule' => 0,
16740             'line' => 28
16741             }, 'Parse::RecDescent::Subrule' )
16742             ]
16743             }, 'Parse::RecDescent::Production' )
16744             ],
16745             'calls' => [
16746             'hexint',
16747             'octint',
16748             'decint'
16749             ],
16750             'vars' => '',
16751             'opcount' => 0,
16752             'line' => 28,
16753             'impcount' => 0,
16754             'name' => 'integer',
16755             'changed' => 0
16756             }, 'Parse::RecDescent::Rule' ),
16757             'value_dns_zone' => bless( {
16758             'vars' => '',
16759             'calls' => [],
16760             'prods' => [
16761             bless( {
16762             'dircount' => 0,
16763             'actcount' => 0,
16764             'uncommit' => undef,
16765             'line' => undef,
16766             'error' => undef,
16767             'strcount' => 0,
16768             'patcount' => 1,
16769             'number' => 0,
16770             'items' => [
16771             bless( {
16772             'mod' => '',
16773             'hashname' => '__PATTERN1__',
16774             'description' => '/([a-zA-Z0-9-]+\\\\.)*[a-zA-Z0-9-]+\\\\.?/',
16775             'line' => 403,
16776             'rdelim' => '/',
16777             'ldelim' => '/',
16778             'lookahead' => 0,
16779             'pattern' => '([a-zA-Z0-9-]+\\.)*[a-zA-Z0-9-]+\\.?'
16780             }, 'Parse::RecDescent::Token' )
16781             ]
16782             }, 'Parse::RecDescent::Production' ),
16783             bless( {
16784             'actcount' => 0,
16785             'dircount' => 1,
16786             'uncommit' => 0,
16787             'line' => 404,
16788             'strcount' => 0,
16789             'patcount' => 0,
16790             'number' => 1,
16791             'error' => 1,
16792             'items' => [
16793             bless( {
16794             'hashname' => '__DIRECTIVE1__',
16795             'msg' => '',
16796             'line' => 404,
16797             'lookahead' => 0,
16798             'commitonly' => ''
16799             }, 'Parse::RecDescent::Error' )
16800             ]
16801             }, 'Parse::RecDescent::Production' )
16802             ],
16803             'line' => 402,
16804             'opcount' => 0,
16805             'impcount' => 0,
16806             'name' => 'value_dns_zone',
16807             'changed' => 0
16808             }, 'Parse::RecDescent::Rule' ),
16809             'metaroot' => bless( {
16810             'vars' => '',
16811             'calls' => [],
16812             'prods' => [
16813             bless( {
16814             'items' => [
16815             bless( {
16816             'line' => 109,
16817             'lookahead' => 0,
16818             'pattern' => 'META:',
16819             'hashname' => '__STRING1__',
16820             'description' => '\'META:\''
16821             }, 'Parse::RecDescent::Literal' )
16822             ],
16823             'number' => 0,
16824             'patcount' => 0,
16825             'strcount' => 1,
16826             'error' => undef,
16827             'line' => undef,
16828             'uncommit' => undef,
16829             'actcount' => 0,
16830             'dircount' => 0
16831             }, 'Parse::RecDescent::Production' )
16832             ],
16833             'opcount' => 0,
16834             'line' => 109,
16835             'changed' => 0,
16836             'name' => 'metaroot',
16837             'impcount' => 0
16838             }, 'Parse::RecDescent::Rule' ),
16839             'value_dns_name' => bless( {
16840             'impcount' => 0,
16841             'name' => 'value_dns_name',
16842             'changed' => 0,
16843             'opcount' => 0,
16844             'line' => 398,
16845             'calls' => [],
16846             'vars' => '',
16847             'prods' => [
16848             bless( {
16849             'strcount' => 0,
16850             'patcount' => 1,
16851             'number' => 0,
16852             'error' => undef,
16853             'items' => [
16854             bless( {
16855             'rdelim' => '/',
16856             'ldelim' => '/',
16857             'lookahead' => 0,
16858             'pattern' => '[a-zA-Z0-9-]+',
16859             'mod' => '',
16860             'description' => '/[a-zA-Z0-9-]+/',
16861             'hashname' => '__PATTERN1__',
16862             'line' => 399
16863             }, 'Parse::RecDescent::Token' )
16864             ],
16865             'actcount' => 0,
16866             'dircount' => 0,
16867             'uncommit' => undef,
16868             'line' => undef
16869             }, 'Parse::RecDescent::Production' ),
16870             bless( {
16871             'error' => 1,
16872             'patcount' => 0,
16873             'strcount' => 0,
16874             'number' => 1,
16875             'items' => [
16876             bless( {
16877             'commitonly' => '',
16878             'lookahead' => 0,
16879             'line' => 400,
16880             'msg' => '',
16881             'hashname' => '__DIRECTIVE1__'
16882             }, 'Parse::RecDescent::Error' )
16883             ],
16884             'dircount' => 1,
16885             'actcount' => 0,
16886             'uncommit' => 0,
16887             'line' => 400
16888             }, 'Parse::RecDescent::Production' )
16889             ]
16890             }, 'Parse::RecDescent::Rule' ),
16891             'value_ipv4_mask' => bless( {
16892             'opcount' => 0,
16893             'line' => 421,
16894             'impcount' => 0,
16895             'changed' => 0,
16896             'name' => 'value_ipv4_mask',
16897             'prods' => [
16898             bless( {
16899             'patcount' => 0,
16900             'strcount' => 1,
16901             'number' => 0,
16902             'error' => undef,
16903             'items' => [
16904             bless( {
16905             'line' => 422,
16906             'lookahead' => 0,
16907             'hashname' => '__DIRECTIVE1__',
16908             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
16909             'name' => ''
16910             }, 'Parse::RecDescent::Directive' ),
16911             bless( {
16912             'lookahead' => 0,
16913             'matchrule' => 0,
16914             'subrule' => 'value_ipv4',
16915             'line' => 422,
16916             'argcode' => undef,
16917             'implicit' => undef
16918             }, 'Parse::RecDescent::Subrule' ),
16919             bless( {
16920             'pattern' => '/',
16921             'lookahead' => 0,
16922             'line' => 422,
16923             'hashname' => '__STRING1__',
16924             'description' => '\'/\''
16925             }, 'Parse::RecDescent::Literal' ),
16926             bless( {
16927             'implicit' => 'decint, or value_ipv4',
16928             'argcode' => undef,
16929             'matchrule' => 0,
16930             'subrule' => '_alternation_1_of_production_1_of_rule_value_ipv4_mask',
16931             'lookahead' => 0,
16932             'line' => 422
16933             }, 'Parse::RecDescent::Subrule' ),
16934             bless( {
16935             'hashname' => '__ACTION1__',
16936             'code' => '{ "$item[2]/$item[-1]"; }',
16937             'line' => 423,
16938             'lookahead' => 0
16939             }, 'Parse::RecDescent::Action' )
16940             ],
16941             'dircount' => 1,
16942             'actcount' => 1,
16943             'uncommit' => undef,
16944             'line' => undef
16945             }, 'Parse::RecDescent::Production' ),
16946             bless( {
16947             'items' => [
16948             bless( {
16949             'msg' => '',
16950             'hashname' => '__DIRECTIVE1__',
16951             'line' => 424,
16952             'commitonly' => '',
16953             'lookahead' => 0
16954             }, 'Parse::RecDescent::Error' )
16955             ],
16956             'strcount' => 0,
16957             'patcount' => 0,
16958             'number' => 1,
16959             'error' => 1,
16960             'line' => 424,
16961             'actcount' => 0,
16962             'dircount' => 1,
16963             'uncommit' => 0
16964             }, 'Parse::RecDescent::Production' )
16965             ],
16966             'calls' => [
16967             'value_ipv4',
16968             '_alternation_1_of_production_1_of_rule_value_ipv4_mask'
16969             ],
16970             'vars' => ''
16971             }, 'Parse::RecDescent::Rule' ),
16972             'identifier' => bless( {
16973             'prods' => [
16974             bless( {
16975             'number' => 0,
16976             'patcount' => 1,
16977             'strcount' => 0,
16978             'error' => undef,
16979             'items' => [
16980             bless( {
16981             'ldelim' => '/',
16982             'rdelim' => '/',
16983             'lookahead' => 0,
16984             'pattern' => '[[:alpha:]][[:alnum:]_-]*',
16985             'description' => '/[[:alpha:]][[:alnum:]_-]*/',
16986             'hashname' => '__PATTERN1__',
16987             'mod' => '',
16988             'line' => 4
16989             }, 'Parse::RecDescent::Token' )
16990             ],
16991             'uncommit' => undef,
16992             'actcount' => 0,
16993             'dircount' => 0,
16994             'line' => undef
16995             }, 'Parse::RecDescent::Production' )
16996             ],
16997             'calls' => [],
16998             'vars' => '',
16999             'opcount' => 0,
17000             'line' => 2,
17001             'name' => 'identifier',
17002             'changed' => 0,
17003             'impcount' => 0
17004             }, 'Parse::RecDescent::Rule' ),
17005             'ptail' => bless( {
17006             'prods' => [
17007             bless( {
17008             'items' => [
17009             bless( {
17010             'implicit' => undef,
17011             'argcode' => undef,
17012             'subrule' => 'separator',
17013             'matchrule' => 0,
17014             'lookahead' => 0,
17015             'line' => 77
17016             }, 'Parse::RecDescent::Subrule' ),
17017             bless( {
17018             'implicit' => undef,
17019             'argcode' => undef,
17020             'subrule' => 'relpath',
17021             'matchrule' => 0,
17022             'lookahead' => 0,
17023             'line' => 77
17024             }, 'Parse::RecDescent::Subrule' ),
17025             bless( {
17026             'line' => 77,
17027             'lookahead' => 0,
17028             'hashname' => '__ACTION1__',
17029             'code' => '{ [-tail => $item{relpath}] }'
17030             }, 'Parse::RecDescent::Action' )
17031             ],
17032             'strcount' => 0,
17033             'patcount' => 0,
17034             'number' => 0,
17035             'error' => undef,
17036             'line' => undef,
17037             'actcount' => 1,
17038             'dircount' => 0,
17039             'uncommit' => undef
17040             }, 'Parse::RecDescent::Production' ),
17041             bless( {
17042             'line' => 78,
17043             'actcount' => 1,
17044             'dircount' => 0,
17045             'uncommit' => undef,
17046             'items' => [
17047             bless( {
17048             'lookahead' => 0,
17049             'line' => 78,
17050             'code' => '{ []; }',
17051             'hashname' => '__ACTION1__'
17052             }, 'Parse::RecDescent::Action' )
17053             ],
17054             'error' => undef,
17055             'strcount' => 0,
17056             'patcount' => 0,
17057             'number' => 1
17058             }, 'Parse::RecDescent::Production' )
17059             ],
17060             'calls' => [
17061             'separator',
17062             'relpath'
17063             ],
17064             'vars' => '',
17065             'opcount' => 0,
17066             'line' => 77,
17067             'impcount' => 0,
17068             'name' => 'ptail',
17069             'changed' => 0
17070             }, 'Parse::RecDescent::Rule' ),
17071             'real' => bless( {
17072             'prods' => [
17073             bless( {
17074             'items' => [
17075             bless( {
17076             'ldelim' => '/',
17077             'rdelim' => '/',
17078             'pattern' => '[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e\\d+)?',
17079             'lookahead' => 0,
17080             'description' => '/[+-]?(\\\\d+(\\\\.\\\\d*)?|\\\\.\\\\d+)(e\\\\d+)?/',
17081             'hashname' => '__PATTERN1__',
17082             'mod' => '',
17083             'line' => 31
17084             }, 'Parse::RecDescent::Token' ),
17085             bless( {
17086             'line' => 31,
17087             'lookahead' => 0,
17088             'hashname' => '__ACTION1__',
17089             'code' => '{ 0 + $item[1]; }'
17090             }, 'Parse::RecDescent::Action' )
17091             ],
17092             'error' => undef,
17093             'number' => 0,
17094             'strcount' => 0,
17095             'patcount' => 1,
17096             'line' => undef,
17097             'uncommit' => undef,
17098             'actcount' => 1,
17099             'dircount' => 0
17100             }, 'Parse::RecDescent::Production' )
17101             ],
17102             'calls' => [],
17103             'vars' => '',
17104             'line' => 28,
17105             'opcount' => 0,
17106             'changed' => 0,
17107             'name' => 'real',
17108             'impcount' => 0
17109             }, 'Parse::RecDescent::Rule' ),
17110             'directive' => bless( {
17111             'vars' => '',
17112             'calls' => [
17113             'identifier',
17114             'optpath',
17115             'space',
17116             'opener',
17117             'directive',
17118             'closer',
17119             'ifrest'
17120             ],
17121             'prods' => [
17122             bless( {
17123             'error' => undef,
17124             'patcount' => 1,
17125             'strcount' => 0,
17126             'number' => 0,
17127             'items' => [
17128             bless( {
17129             'line' => 120,
17130             'mod' => '',
17131             'description' => '/([^\\\\[]|\\\\[\\\\[)+/',
17132             'hashname' => '__PATTERN1__',
17133             'lookahead' => 0,
17134             'pattern' => '([^\\[]|\\[\\[)+',
17135             'rdelim' => '/',
17136             'ldelim' => '/'
17137             }, 'Parse::RecDescent::Token' ),
17138             bless( {
17139             'lookahead' => 0,
17140             'line' => 121,
17141             'code' => '{ $item[1] =~ s/\\[\\[/[/g; $item[1] =~ s/\\]\\]/\\]/g; $item[1]; }',
17142             'hashname' => '__ACTION1__'
17143             }, 'Parse::RecDescent::Action' )
17144             ],
17145             'actcount' => 1,
17146             'dircount' => 0,
17147             'uncommit' => undef,
17148             'line' => undef
17149             }, 'Parse::RecDescent::Production' ),
17150             bless( {
17151             'line' => undef,
17152             'uncommit' => undef,
17153             'dircount' => 1,
17154             'actcount' => 1,
17155             'items' => [
17156             bless( {
17157             'description' => '\'[#\'',
17158             'hashname' => '__STRING1__',
17159             'line' => 124,
17160             'pattern' => '[#',
17161             'lookahead' => 0
17162             }, 'Parse::RecDescent::Literal' ),
17163             bless( {
17164             'name' => '',
17165             'code' => '$commit = 1',
17166             'hashname' => '__DIRECTIVE1__',
17167             'lookahead' => 0,
17168             'line' => 124
17169             }, 'Parse::RecDescent::Directive' ),
17170             bless( {
17171             'line' => 124,
17172             'mod' => '',
17173             'description' => '/([^#]|#[^\\\\]])*/',
17174             'hashname' => '__PATTERN1__',
17175             'lookahead' => 0,
17176             'pattern' => '([^#]|#[^\\]])*',
17177             'rdelim' => '/',
17178             'ldelim' => '/'
17179             }, 'Parse::RecDescent::Token' ),
17180             bless( {
17181             'pattern' => '#]',
17182             'lookahead' => 0,
17183             'line' => 124,
17184             'description' => '\'#]\'',
17185             'hashname' => '__STRING2__'
17186             }, 'Parse::RecDescent::Literal' ),
17187             bless( {
17188             'code' => '{ \'\'; }',
17189             'hashname' => '__ACTION1__',
17190             'lookahead' => 0,
17191             'line' => 124
17192             }, 'Parse::RecDescent::Action' )
17193             ],
17194             'number' => 1,
17195             'strcount' => 2,
17196             'patcount' => 1,
17197             'error' => undef
17198             }, 'Parse::RecDescent::Production' ),
17199             bless( {
17200             'dircount' => 2,
17201             'actcount' => 0,
17202             'uncommit' => 0,
17203             'line' => 125,
17204             'error' => 1,
17205             'patcount' => 0,
17206             'strcount' => 0,
17207             'number' => 2,
17208             'items' => [
17209             bless( {
17210             'lookahead' => 0,
17211             'commitonly' => '?',
17212             'line' => 125,
17213             'msg' => '',
17214             'hashname' => '__DIRECTIVE1__'
17215             }, 'Parse::RecDescent::Error' ),
17216             bless( {
17217             'name' => '',
17218             'hashname' => '__DIRECTIVE2__',
17219             'lookahead' => 0,
17220             'line' => 125
17221             }, 'Parse::RecDescent::UncondReject' )
17222             ]
17223             }, 'Parse::RecDescent::Production' ),
17224             bless( {
17225             'uncommit' => undef,
17226             'dircount' => 2,
17227             'actcount' => 1,
17228             'line' => undef,
17229             'error' => undef,
17230             'number' => 3,
17231             'patcount' => 0,
17232             'strcount' => 2,
17233             'items' => [
17234             bless( {
17235             'hashname' => '__STRING1__',
17236             'description' => '\'[\'',
17237             'line' => 128,
17238             'pattern' => '[',
17239             'lookahead' => 0
17240             }, 'Parse::RecDescent::Literal' ),
17241             bless( {
17242             'name' => '',
17243             'code' => 'Text::Balanced::extract_codeblock($text,undef,$skip,\'{}\');
17244             ',
17245             'hashname' => '__DIRECTIVE1__',
17246             'lookahead' => 0,
17247             'line' => 128
17248             }, 'Parse::RecDescent::Directive' ),
17249             bless( {
17250             'lookahead' => 0,
17251             'line' => 128,
17252             'code' => '$commit = 1',
17253             'name' => '',
17254             'hashname' => '__DIRECTIVE2__'
17255             }, 'Parse::RecDescent::Directive' ),
17256             bless( {
17257             'line' => 128,
17258             'pattern' => ']',
17259             'lookahead' => 0,
17260             'hashname' => '__STRING2__',
17261             'description' => '\']\''
17262             }, 'Parse::RecDescent::Literal' ),
17263             bless( {
17264             'code' => '{
17265             my $code = $item[2];
17266             sub {
17267             print Config::Maker::exe($code);
17268             }
17269             }',
17270             'hashname' => '__ACTION1__',
17271             'lookahead' => 0,
17272             'line' => 129
17273             }, 'Parse::RecDescent::Action' )
17274             ]
17275             }, 'Parse::RecDescent::Production' ),
17276             bless( {
17277             'line' => 135,
17278             'uncommit' => 0,
17279             'actcount' => 0,
17280             'dircount' => 2,
17281             'items' => [
17282             bless( {
17283             'commitonly' => '?',
17284             'lookahead' => 0,
17285             'line' => 135,
17286             'msg' => '',
17287             'hashname' => '__DIRECTIVE1__'
17288             }, 'Parse::RecDescent::Error' ),
17289             bless( {
17290             'line' => 135,
17291             'lookahead' => 0,
17292             'hashname' => '__DIRECTIVE2__',
17293             'name' => ''
17294             }, 'Parse::RecDescent::UncondReject' )
17295             ],
17296             'number' => 4,
17297             'strcount' => 0,
17298             'patcount' => 0,
17299             'error' => 1
17300             }, 'Parse::RecDescent::Production' ),
17301             bless( {
17302             'number' => 5,
17303             'strcount' => 2,
17304             'patcount' => 0,
17305             'error' => undef,
17306             'items' => [
17307             bless( {
17308             'pattern' => '[+',
17309             'lookahead' => 0,
17310             'line' => 140,
17311             'description' => '\'[+\'',
17312             'hashname' => '__STRING1__'
17313             }, 'Parse::RecDescent::Literal' ),
17314             bless( {
17315             'line' => 140,
17316             'lookahead' => 0,
17317             'hashname' => '__DIRECTIVE1__',
17318             'code' => '$commit = 1',
17319             'name' => ''
17320             }, 'Parse::RecDescent::Directive' ),
17321             bless( {
17322             'name' => '',
17323             'code' => 'my $oldskip = $skip; $skip= qr/\\s*/; $oldskip',
17324             'hashname' => '__DIRECTIVE2__',
17325             'lookahead' => 0,
17326             'line' => 140
17327             }, 'Parse::RecDescent::Directive' ),
17328             bless( {
17329             'implicit' => undef,
17330             'argcode' => undef,
17331             'line' => 140,
17332             'matchrule' => 0,
17333             'subrule' => 'identifier',
17334             'lookahead' => 0
17335             }, 'Parse::RecDescent::Subrule' ),
17336             bless( {
17337             'line' => 140,
17338             'lookahead' => 0,
17339             'matchrule' => 0,
17340             'subrule' => 'optpath',
17341             'argcode' => undef,
17342             'implicit' => undef
17343             }, 'Parse::RecDescent::Subrule' ),
17344             bless( {
17345             'hashname' => '__STRING2__',
17346             'description' => '\'+]\'',
17347             'line' => 140,
17348             'lookahead' => 0,
17349             'pattern' => '+]'
17350             }, 'Parse::RecDescent::Literal' ),
17351             bless( {
17352             'line' => 141,
17353             'lookahead' => 0,
17354             'hashname' => '__ACTION1__',
17355             'code' => '{
17356             my $key = $item{identifier};
17357             my $path = $item{optpath};
17358             sub { print $_->get1($path)->{-$key}; }
17359             }'
17360             }, 'Parse::RecDescent::Action' )
17361             ],
17362             'uncommit' => undef,
17363             'dircount' => 2,
17364             'actcount' => 1,
17365             'line' => undef
17366             }, 'Parse::RecDescent::Production' ),
17367             bless( {
17368             'line' => 146,
17369             'uncommit' => 0,
17370             'actcount' => 0,
17371             'dircount' => 2,
17372             'items' => [
17373             bless( {
17374             'lookahead' => 0,
17375             'commitonly' => '?',
17376             'line' => 146,
17377             'msg' => '',
17378             'hashname' => '__DIRECTIVE1__'
17379             }, 'Parse::RecDescent::Error' ),
17380             bless( {
17381             'name' => '',
17382             'hashname' => '__DIRECTIVE2__',
17383             'lookahead' => 0,
17384             'line' => 146
17385             }, 'Parse::RecDescent::UncondReject' )
17386             ],
17387             'number' => 6,
17388             'patcount' => 0,
17389             'strcount' => 0,
17390             'error' => 1
17391             }, 'Parse::RecDescent::Production' ),
17392             bless( {
17393             'error' => undef,
17394             'patcount' => 1,
17395             'strcount' => 2,
17396             'number' => 7,
17397             'items' => [
17398             bless( {
17399             'description' => '\'[<\'',
17400             'hashname' => '__STRING1__',
17401             'line' => 148,
17402             'lookahead' => 0,
17403             'pattern' => '[<'
17404             }, 'Parse::RecDescent::Literal' ),
17405             bless( {
17406             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
17407             'name' => '',
17408             'hashname' => '__DIRECTIVE1__',
17409             'lookahead' => 0,
17410             'line' => 148
17411             }, 'Parse::RecDescent::Directive' ),
17412             bless( {
17413             'line' => 148,
17414             'lookahead' => 0,
17415             'hashname' => '__DIRECTIVE2__',
17416             'code' => '$commit = 1',
17417             'name' => ''
17418             }, 'Parse::RecDescent::Directive' ),
17419             bless( {
17420             'ldelim' => '/',
17421             'rdelim' => '/',
17422             'pattern' => '[^>]+',
17423             'lookahead' => 0,
17424             'hashname' => '__PATTERN1__',
17425             'description' => '/[^>]+/',
17426             'mod' => '',
17427             'line' => 148
17428             }, 'Parse::RecDescent::Token' ),
17429             bless( {
17430             'description' => '\'>]\'',
17431             'hashname' => '__STRING2__',
17432             'pattern' => '>]',
17433             'lookahead' => 0,
17434             'line' => 148
17435             }, 'Parse::RecDescent::Literal' ),
17436             bless( {
17437             'argcode' => undef,
17438             'implicit' => undef,
17439             'line' => 148,
17440             'lookahead' => 0,
17441             'subrule' => 'space',
17442             'matchrule' => 0
17443             }, 'Parse::RecDescent::Subrule' ),
17444             bless( {
17445             'lookahead' => 0,
17446             'line' => 149,
17447             'code' => '{
17448             Config::Maker::Driver->load($item[4]);
17449             }',
17450             'hashname' => '__ACTION1__'
17451             }, 'Parse::RecDescent::Action' )
17452             ],
17453             'actcount' => 1,
17454             'dircount' => 2,
17455             'uncommit' => undef,
17456             'line' => undef
17457             }, 'Parse::RecDescent::Production' ),
17458             bless( {
17459             'patcount' => 0,
17460             'strcount' => 0,
17461             'number' => 8,
17462             'error' => 1,
17463             'items' => [
17464             bless( {
17465             'msg' => '',
17466             'hashname' => '__DIRECTIVE1__',
17467             'line' => 152,
17468             'lookahead' => 0,
17469             'commitonly' => '?'
17470             }, 'Parse::RecDescent::Error' ),
17471             bless( {
17472             'lookahead' => 0,
17473             'line' => 152,
17474             'name' => '',
17475             'hashname' => '__DIRECTIVE2__'
17476             }, 'Parse::RecDescent::UncondReject' )
17477             ],
17478             'dircount' => 2,
17479             'actcount' => 0,
17480             'uncommit' => 0,
17481             'line' => 152
17482             }, 'Parse::RecDescent::Production' ),
17483             bless( {
17484             'error' => undef,
17485             'strcount' => 0,
17486             'patcount' => 0,
17487             'number' => 9,
17488             'items' => [
17489             bless( {
17490             'lookahead' => 0,
17491             'matchrule' => 0,
17492             'subrule' => 'opener',
17493             'line' => 162,
17494             'argcode' => '[\'map\', perlcode => \'()\']',
17495             'implicit' => undef
17496             }, 'Parse::RecDescent::Subrule' ),
17497             bless( {
17498             'name' => '',
17499             'code' => '$commit = 1',
17500             'hashname' => '__DIRECTIVE1__',
17501             'lookahead' => 0,
17502             'line' => 162
17503             }, 'Parse::RecDescent::Directive' ),
17504             bless( {
17505             'repspec' => 's',
17506             'line' => 162,
17507             'max' => 100000000,
17508             'expected' => undef,
17509             'argcode' => undef,
17510             'subrule' => 'directive',
17511             'matchrule' => 0,
17512             'lookahead' => 0,
17513             'min' => 1
17514             }, 'Parse::RecDescent::Repetition' ),
17515             bless( {
17516             'lookahead' => 0,
17517             'subrule' => 'closer',
17518             'matchrule' => 0,
17519             'line' => 162,
17520             'argcode' => '[\'map\']',
17521             'implicit' => undef
17522             }, 'Parse::RecDescent::Subrule' ),
17523             bless( {
17524             'hashname' => '__ACTION1__',
17525             'code' => '{
17526             my $expr = $item[1];
17527             my @parts = @{$item[3]};
17528             sub {
17529             for(Config::Maker::exe($expr)) {
17530             Config::Maker::Driver::apply(@parts);
17531             }
17532             }
17533             }',
17534             'line' => 163,
17535             'lookahead' => 0
17536             }, 'Parse::RecDescent::Action' )
17537             ],
17538             'dircount' => 1,
17539             'actcount' => 1,
17540             'uncommit' => undef,
17541             'line' => undef
17542             }, 'Parse::RecDescent::Production' ),
17543             bless( {
17544             'items' => [
17545             bless( {
17546             'argcode' => '[\'map\', \'path\']',
17547             'implicit' => undef,
17548             'line' => 173,
17549             'lookahead' => 0,
17550             'matchrule' => 0,
17551             'subrule' => 'opener'
17552             }, 'Parse::RecDescent::Subrule' ),
17553             bless( {
17554             'line' => 173,
17555             'lookahead' => 0,
17556             'hashname' => '__DIRECTIVE1__',
17557             'code' => '$commit = 1',
17558             'name' => ''
17559             }, 'Parse::RecDescent::Directive' ),
17560             bless( {
17561             'line' => 173,
17562             'max' => 100000000,
17563             'expected' => undef,
17564             'repspec' => 's',
17565             'argcode' => undef,
17566             'matchrule' => 0,
17567             'subrule' => 'directive',
17568             'lookahead' => 0,
17569             'min' => 1
17570             }, 'Parse::RecDescent::Repetition' ),
17571             bless( {
17572             'line' => 173,
17573             'subrule' => 'closer',
17574             'matchrule' => 0,
17575             'lookahead' => 0,
17576             'implicit' => undef,
17577             'argcode' => '[\'map\']'
17578             }, 'Parse::RecDescent::Subrule' ),
17579             bless( {
17580             'line' => 174,
17581             'lookahead' => 0,
17582             'hashname' => '__ACTION1__',
17583             'code' => '{
17584             my $path = $item[1];
17585             my @parts = @{$item[3]};
17586             sub {
17587             for(@{$path->find($_)}) {
17588             Config::Maker::Driver::apply(@parts);
17589             }
17590             }
17591             }'
17592             }, 'Parse::RecDescent::Action' )
17593             ],
17594             'error' => undef,
17595             'patcount' => 0,
17596             'strcount' => 0,
17597             'number' => 10,
17598             'line' => undef,
17599             'actcount' => 1,
17600             'dircount' => 1,
17601             'uncommit' => undef
17602             }, 'Parse::RecDescent::Production' ),
17603             bless( {
17604             'items' => [
17605             bless( {
17606             'lookahead' => 0,
17607             'commitonly' => '?',
17608             'line' => 183,
17609             'msg' => '',
17610             'hashname' => '__DIRECTIVE1__'
17611             }, 'Parse::RecDescent::Error' ),
17612             bless( {
17613             'hashname' => '__DIRECTIVE2__',
17614             'name' => '',
17615             'line' => 183,
17616             'lookahead' => 0
17617             }, 'Parse::RecDescent::UncondReject' )
17618             ],
17619             'number' => 11,
17620             'patcount' => 0,
17621             'strcount' => 0,
17622             'error' => 1,
17623             'line' => 183,
17624             'uncommit' => 0,
17625             'actcount' => 0,
17626             'dircount' => 2
17627             }, 'Parse::RecDescent::Production' ),
17628             bless( {
17629             'strcount' => 0,
17630             'patcount' => 0,
17631             'number' => 12,
17632             'error' => undef,
17633             'items' => [
17634             bless( {
17635             'argcode' => '[\'if\', perlcode => \'()\']',
17636             'implicit' => undef,
17637             'line' => 226,
17638             'lookahead' => 0,
17639             'matchrule' => 0,
17640             'subrule' => 'opener'
17641             }, 'Parse::RecDescent::Subrule' ),
17642             bless( {
17643             'hashname' => '__DIRECTIVE1__',
17644             'code' => '$commit = 1',
17645             'name' => '',
17646             'line' => 226,
17647             'lookahead' => 0
17648             }, 'Parse::RecDescent::Directive' ),
17649             bless( {
17650             'argcode' => undef,
17651             'repspec' => 's',
17652             'line' => 226,
17653             'max' => 100000000,
17654             'expected' => undef,
17655             'min' => 1,
17656             'subrule' => 'directive',
17657             'matchrule' => 0,
17658             'lookahead' => 0
17659             }, 'Parse::RecDescent::Repetition' ),
17660             bless( {
17661             'line' => 226,
17662             'lookahead' => 0,
17663             'subrule' => 'ifrest',
17664             'matchrule' => 0,
17665             'argcode' => undef,
17666             'implicit' => undef
17667             }, 'Parse::RecDescent::Subrule' ),
17668             bless( {
17669             'code' => '{
17670             my $expr = $item[1];
17671             my @parts = @{$item[3]};
17672             my $else = $item[4];
17673             sub {
17674             if(Config::Maker::exe($expr)) {
17675             Config::Maker::Driver::apply(@parts);
17676             } else {
17677             Config::Maker::Driver::apply($else);
17678             }
17679             }
17680             }',
17681             'hashname' => '__ACTION1__',
17682             'lookahead' => 0,
17683             'line' => 227
17684             }, 'Parse::RecDescent::Action' )
17685             ],
17686             'dircount' => 1,
17687             'actcount' => 1,
17688             'uncommit' => undef,
17689             'line' => undef
17690             }, 'Parse::RecDescent::Production' ),
17691             bless( {
17692             'dircount' => 1,
17693             'actcount' => 1,
17694             'uncommit' => undef,
17695             'line' => undef,
17696             'strcount' => 0,
17697             'patcount' => 0,
17698             'number' => 13,
17699             'error' => undef,
17700             'items' => [
17701             bless( {
17702             'line' => 240,
17703             'lookahead' => 0,
17704             'subrule' => 'opener',
17705             'matchrule' => 0,
17706             'argcode' => '[\'if\', pair => [\'identifier\'], [\'path\']]',
17707             'implicit' => undef
17708             }, 'Parse::RecDescent::Subrule' ),
17709             bless( {
17710             'code' => '$commit = 1',
17711             'name' => '',
17712             'hashname' => '__DIRECTIVE1__',
17713             'lookahead' => 0,
17714             'line' => 240
17715             }, 'Parse::RecDescent::Directive' ),
17716             bless( {
17717             'lookahead' => 0,
17718             'matchrule' => 0,
17719             'subrule' => 'directive',
17720             'min' => 1,
17721             'repspec' => 's',
17722             'expected' => undef,
17723             'max' => 100000000,
17724             'line' => 241,
17725             'argcode' => undef
17726             }, 'Parse::RecDescent::Repetition' ),
17727             bless( {
17728             'matchrule' => 0,
17729             'subrule' => 'ifrest',
17730             'lookahead' => 0,
17731             'line' => 241,
17732             'implicit' => undef,
17733             'argcode' => undef
17734             }, 'Parse::RecDescent::Subrule' ),
17735             bless( {
17736             'hashname' => '__ACTION1__',
17737             'code' => '{
17738             my ($test, $path) = @{$item[1]};
17739             my @parts = @{$item[3]};
17740             my $else = $item[4];
17741             sub {
17742             die "No if test \'$test\'"
17743             unless $Config::Maker::Path::checks{$test};
17744             if($Config::Maker::Path::checks{$test}($path)) {
17745             Config::Maker::Driver::apply(@parts);
17746             } else {
17747             Config::Maker::Driver::apply($else);
17748             }
17749             }
17750             }',
17751             'line' => 242,
17752             'lookahead' => 0
17753             }, 'Parse::RecDescent::Action' )
17754             ]
17755             }, 'Parse::RecDescent::Production' ),
17756             bless( {
17757             'line' => undef,
17758             'uncommit' => undef,
17759             'actcount' => 1,
17760             'dircount' => 1,
17761             'items' => [
17762             bless( {
17763             'implicit' => undef,
17764             'argcode' => '[\'output\', \'identifier\']',
17765             'subrule' => 'opener',
17766             'matchrule' => 0,
17767             'lookahead' => 0,
17768             'line' => 257
17769             }, 'Parse::RecDescent::Subrule' ),
17770             bless( {
17771             'hashname' => '__DIRECTIVE1__',
17772             'code' => '$commit = 1',
17773             'name' => '',
17774             'line' => 257,
17775             'lookahead' => 0
17776             }, 'Parse::RecDescent::Directive' ),
17777             bless( {
17778             'lookahead' => 0,
17779             'subrule' => 'directive',
17780             'matchrule' => 0,
17781             'min' => 1,
17782             'max' => 100000000,
17783             'expected' => undef,
17784             'line' => 258,
17785             'repspec' => 's',
17786             'argcode' => undef
17787             }, 'Parse::RecDescent::Repetition' ),
17788             bless( {
17789             'lookahead' => 0,
17790             'subrule' => 'closer',
17791             'matchrule' => 0,
17792             'line' => 258,
17793             'argcode' => '[\'output\']',
17794             'implicit' => undef
17795             }, 'Parse::RecDescent::Subrule' ),
17796             bless( {
17797             'line' => 259,
17798             'lookahead' => 0,
17799             'hashname' => '__ACTION1__',
17800             'code' => '{
17801             my $key = $item[1];
17802             my @parts = @{$item[3]};
17803             my ($cache, $output) =
17804             $key eq \'all\' ? (1, 1) :
17805             $key eq \'both\' ? (1, 1) :
17806             $key eq \'only-cache\' ? (1, 0) :
17807             $key eq \'no-cache\' ? (0, 1) :
17808             $key eq \'only-out\' ? (0, 1) :
17809             $key eq \'no-out\' ? (1, 0) :
17810             die "Bad output option: $key";
17811             sub {
17812             die "output limiting only works when cache is enabled"
17813             unless UNIVERSAL::isa(select(), \'Config::Maker::Tee\');
17814             local $Config::Maker::Tee::CACHE = $cache;
17815             local $Config::Maker::Tee::OUT = $output;
17816             Config::Maker::Driver::apply(@parts);
17817             }
17818             }'
17819             }, 'Parse::RecDescent::Action' )
17820             ],
17821             'number' => 14,
17822             'strcount' => 0,
17823             'patcount' => 0,
17824             'error' => undef
17825             }, 'Parse::RecDescent::Production' )
17826             ],
17827             'impcount' => 0,
17828             'name' => 'directive',
17829             'changed' => 0,
17830             'line' => 118,
17831             'opcount' => 0
17832             }, 'Parse::RecDescent::Rule' ),
17833             'block' => bless( {
17834             'opcount' => 0,
17835             'line' => 318,
17836             'changed' => 0,
17837             'name' => 'block',
17838             'impcount' => 0,
17839             'prods' => [
17840             bless( {
17841             'items' => [
17842             bless( {
17843             'line' => 319,
17844             'pattern' => '{',
17845             'lookahead' => 0,
17846             'hashname' => '__STRING1__',
17847             'description' => '\'\\{\''
17848             }, 'Parse::RecDescent::Literal' ),
17849             bless( {
17850             'argcode' => '[$arg[0]]',
17851             'expected' => undef,
17852             'max' => 100000000,
17853             'line' => 319,
17854             'repspec' => 's?',
17855             'min' => 0,
17856             'lookahead' => 0,
17857             'subrule' => 'option',
17858             'matchrule' => 0
17859             }, 'Parse::RecDescent::Repetition' ),
17860             bless( {
17861             'description' => '\'\\}\'',
17862             'hashname' => '__STRING2__',
17863             'lookahead' => 0,
17864             'pattern' => '}',
17865             'line' => 319
17866             }, 'Parse::RecDescent::Literal' ),
17867             bless( {
17868             'hashname' => '__ACTION1__',
17869             'code' => '{ $item[2]; }',
17870             'line' => 320,
17871             'lookahead' => 0
17872             }, 'Parse::RecDescent::Action' )
17873             ],
17874             'error' => undef,
17875             'strcount' => 2,
17876             'patcount' => 0,
17877             'number' => 0,
17878             'line' => undef,
17879             'actcount' => 1,
17880             'dircount' => 0,
17881             'uncommit' => undef
17882             }, 'Parse::RecDescent::Production' ),
17883             bless( {
17884             'items' => [
17885             bless( {
17886             'lookahead' => 0,
17887             'pattern' => '<',
17888             'line' => 322,
17889             'description' => '\'<\'',
17890             'hashname' => '__STRING1__'
17891             }, 'Parse::RecDescent::Literal' ),
17892             bless( {
17893             'hashname' => '__DIRECTIVE1__',
17894             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
17895             'name' => '',
17896             'line' => 322,
17897             'lookahead' => 0
17898             }, 'Parse::RecDescent::Directive' ),
17899             bless( {
17900             'mod' => '',
17901             'description' => '/[^>]+/',
17902             'hashname' => '__PATTERN1__',
17903             'line' => 322,
17904             'rdelim' => '/',
17905             'ldelim' => '/',
17906             'pattern' => '[^>]+',
17907             'lookahead' => 0
17908             }, 'Parse::RecDescent::Token' ),
17909             bless( {
17910             'description' => '\'>\'',
17911             'hashname' => '__STRING2__',
17912             'line' => 322,
17913             'lookahead' => 0,
17914             'pattern' => '>'
17915             }, 'Parse::RecDescent::Literal' ),
17916             bless( {
17917             'hashname' => '__ACTION1__',
17918             'code' => '{
17919             Config::Maker::Config->read($item[3], $arg[0]);
17920             }',
17921             'line' => 323,
17922             'lookahead' => 0
17923             }, 'Parse::RecDescent::Action' )
17924             ],
17925             'strcount' => 2,
17926             'patcount' => 1,
17927             'number' => 1,
17928             'error' => undef,
17929             'line' => 321,
17930             'actcount' => 1,
17931             'dircount' => 1,
17932             'uncommit' => undef
17933             }, 'Parse::RecDescent::Production' ),
17934             bless( {
17935             'line' => 326,
17936             'uncommit' => 0,
17937             'actcount' => 0,
17938             'dircount' => 1,
17939             'items' => [
17940             bless( {
17941             'line' => 326,
17942             'lookahead' => 0,
17943             'commitonly' => '',
17944             'hashname' => '__DIRECTIVE1__',
17945             'msg' => ''
17946             }, 'Parse::RecDescent::Error' )
17947             ],
17948             'number' => 2,
17949             'patcount' => 0,
17950             'strcount' => 0,
17951             'error' => 1
17952             }, 'Parse::RecDescent::Production' )
17953             ],
17954             'calls' => [
17955             'option'
17956             ],
17957             'vars' => ''
17958             }, 'Parse::RecDescent::Rule' ),
17959             'value_ipv4' => bless( {
17960             'opcount' => 0,
17961             'line' => 408,
17962             'name' => 'value_ipv4',
17963             'changed' => 0,
17964             'impcount' => 0,
17965             'calls' => [
17966             'byte'
17967             ],
17968             'prods' => [
17969             bless( {
17970             'actcount' => 1,
17971             'dircount' => 2,
17972             'uncommit' => undef,
17973             'line' => undef,
17974             'error' => undef,
17975             'patcount' => 0,
17976             'op' => [],
17977             'strcount' => 1,
17978             'number' => 0,
17979             'items' => [
17980             bless( {
17981             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
17982             'name' => '',
17983             'hashname' => '__DIRECTIVE1__',
17984             'lookahead' => 0,
17985             'line' => 409
17986             }, 'Parse::RecDescent::Directive' ),
17987             bless( {
17988             'min' => 1,
17989             'op' => bless( {
17990             'line' => 409,
17991             'lookahead' => 0,
17992             'pattern' => '.',
17993             'hashname' => '__STRING1__',
17994             'description' => '\'.\''
17995             }, 'Parse::RecDescent::Literal' ),
17996             'rightarg' => bless( {
17997             'line' => 409,
17998             'subrule' => 'byte',
17999             'matchrule' => 0,
18000             'lookahead' => 0,
18001             'implicit' => undef,
18002             'argcode' => undef
18003             }, 'Parse::RecDescent::Subrule' ),
18004             'hashname' => '__DIRECTIVE2__',
18005             'name' => '',
18006             'expected' => '',
18007             'max' => 100000000,
18008             'type' => 'leftop',
18009             'leftarg' => bless( {
18010             'implicit' => undef,
18011             'argcode' => undef,
18012             'line' => 409,
18013             'matchrule' => 0,
18014             'subrule' => 'byte',
18015             'lookahead' => 0
18016             }, 'Parse::RecDescent::Subrule' )
18017             }, 'Parse::RecDescent::Operator' ),
18018             bless( {
18019             'line' => 410,
18020             'lookahead' => 0,
18021             'hashname' => '__ACTION1__',
18022             'code' => '{ @{$item[2]} == 4 ? join \'.\', @{$item[2]} : undef; }'
18023             }, 'Parse::RecDescent::Action' )
18024             ]
18025             }, 'Parse::RecDescent::Production' ),
18026             bless( {
18027             'dircount' => 1,
18028             'actcount' => 0,
18029             'uncommit' => 0,
18030             'line' => 411,
18031             'patcount' => 0,
18032             'strcount' => 0,
18033             'number' => 1,
18034             'error' => 1,
18035             'items' => [
18036             bless( {
18037             'line' => 411,
18038             'commitonly' => '',
18039             'lookahead' => 0,
18040             'msg' => '',
18041             'hashname' => '__DIRECTIVE1__'
18042             }, 'Parse::RecDescent::Error' )
18043             ]
18044             }, 'Parse::RecDescent::Production' )
18045             ],
18046             'vars' => ''
18047             }, 'Parse::RecDescent::Rule' ),
18048             'value_ipv4_port' => bless( {
18049             'changed' => 0,
18050             'name' => 'value_ipv4_port',
18051             'impcount' => 0,
18052             'opcount' => 0,
18053             'line' => 416,
18054             'vars' => '',
18055             'prods' => [
18056             bless( {
18057             'number' => 0,
18058             'strcount' => 1,
18059             'patcount' => 0,
18060             'error' => undef,
18061             'items' => [
18062             bless( {
18063             'line' => 417,
18064             'lookahead' => 0,
18065             'hashname' => '__DIRECTIVE1__',
18066             'name' => '',
18067             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip'
18068             }, 'Parse::RecDescent::Directive' ),
18069             bless( {
18070             'implicit' => undef,
18071             'argcode' => undef,
18072             'line' => 417,
18073             'matchrule' => 0,
18074             'subrule' => 'value_ipv4',
18075             'lookahead' => 0
18076             }, 'Parse::RecDescent::Subrule' ),
18077             bless( {
18078             'line' => 417,
18079             'lookahead' => 0,
18080             'pattern' => ':',
18081             'hashname' => '__STRING1__',
18082             'description' => '\':\''
18083             }, 'Parse::RecDescent::Literal' ),
18084             bless( {
18085             'implicit' => undef,
18086             'argcode' => undef,
18087             'subrule' => 'value_port',
18088             'matchrule' => 0,
18089             'lookahead' => 0,
18090             'line' => 417
18091             }, 'Parse::RecDescent::Subrule' ),
18092             bless( {
18093             'code' => '{ "$item[2]:$item[-1]"; }',
18094             'hashname' => '__ACTION1__',
18095             'lookahead' => 0,
18096             'line' => 418
18097             }, 'Parse::RecDescent::Action' )
18098             ],
18099             'uncommit' => undef,
18100             'actcount' => 1,
18101             'dircount' => 1,
18102             'line' => undef
18103             }, 'Parse::RecDescent::Production' ),
18104             bless( {
18105             'line' => 419,
18106             'uncommit' => 0,
18107             'actcount' => 0,
18108             'dircount' => 1,
18109             'items' => [
18110             bless( {
18111             'line' => 419,
18112             'commitonly' => '',
18113             'lookahead' => 0,
18114             'msg' => '',
18115             'hashname' => '__DIRECTIVE1__'
18116             }, 'Parse::RecDescent::Error' )
18117             ],
18118             'number' => 1,
18119             'strcount' => 0,
18120             'patcount' => 0,
18121             'error' => 1
18122             }, 'Parse::RecDescent::Production' )
18123             ],
18124             'calls' => [
18125             'value_ipv4',
18126             'value_port'
18127             ]
18128             }, 'Parse::RecDescent::Rule' ),
18129             'eof' => bless( {
18130             'opcount' => 0,
18131             'line' => 31,
18132             'impcount' => 0,
18133             'changed' => 0,
18134             'name' => 'eof',
18135             'calls' => [],
18136             'prods' => [
18137             bless( {
18138             'actcount' => 0,
18139             'dircount' => 0,
18140             'uncommit' => undef,
18141             'line' => undef,
18142             'patcount' => 1,
18143             'strcount' => 0,
18144             'number' => 0,
18145             'error' => undef,
18146             'items' => [
18147             bless( {
18148             'rdelim' => '/',
18149             'ldelim' => '/',
18150             'lookahead' => 0,
18151             'pattern' => '^\\Z',
18152             'mod' => '',
18153             'hashname' => '__PATTERN1__',
18154             'description' => '/^\\\\Z/',
18155             'line' => 33
18156             }, 'Parse::RecDescent::Token' )
18157             ]
18158             }, 'Parse::RecDescent::Production' )
18159             ],
18160             'vars' => ''
18161             }, 'Parse::RecDescent::Rule' ),
18162             'body_simple' => bless( {
18163             'impcount' => 0,
18164             'changed' => 0,
18165             'name' => 'body_simple',
18166             'opcount' => 0,
18167             'line' => 328,
18168             'prods' => [
18169             bless( {
18170             'uncommit' => undef,
18171             'actcount' => 1,
18172             'dircount' => 0,
18173             'line' => undef,
18174             'number' => 0,
18175             'strcount' => 1,
18176             'patcount' => 0,
18177             'error' => undef,
18178             'items' => [
18179             bless( {
18180             'argcode' => '[@{$arg[1]}]',
18181             'implicit' => undef,
18182             'line' => 329,
18183             'lookahead' => 0,
18184             'matchrule' => 0,
18185             'subrule' => 'value'
18186             }, 'Parse::RecDescent::Subrule' ),
18187             bless( {
18188             'pattern' => ';',
18189             'lookahead' => 0,
18190             'line' => 329,
18191             'hashname' => '__STRING1__',
18192             'description' => '\';\''
18193             }, 'Parse::RecDescent::Literal' ),
18194             bless( {
18195             'line' => 330,
18196             'lookahead' => 0,
18197             'hashname' => '__ACTION1__',
18198             'code' => '{ +{ -value => $item[1] }; }'
18199             }, 'Parse::RecDescent::Action' )
18200             ]
18201             }, 'Parse::RecDescent::Production' ),
18202             bless( {
18203             'error' => 1,
18204             'strcount' => 0,
18205             'patcount' => 0,
18206             'number' => 1,
18207             'items' => [
18208             bless( {
18209             'hashname' => '__DIRECTIVE1__',
18210             'msg' => '',
18211             'commitonly' => '',
18212             'lookahead' => 0,
18213             'line' => 331
18214             }, 'Parse::RecDescent::Error' )
18215             ],
18216             'actcount' => 0,
18217             'dircount' => 1,
18218             'uncommit' => 0,
18219             'line' => 331
18220             }, 'Parse::RecDescent::Production' )
18221             ],
18222             'vars' => '',
18223             'calls' => [
18224             'value'
18225             ]
18226             }, 'Parse::RecDescent::Rule' ),
18227             'pcomponent' => bless( {
18228             'vars' => '',
18229             'calls' => [
18230             'glob',
18231             'pcondition'
18232             ],
18233             'prods' => [
18234             bless( {
18235             'line' => undef,
18236             'actcount' => 1,
18237             'dircount' => 0,
18238             'uncommit' => undef,
18239             'items' => [
18240             bless( {
18241             'argcode' => undef,
18242             'implicit' => undef,
18243             'line' => 80,
18244             'lookahead' => 0,
18245             'matchrule' => 0,
18246             'subrule' => 'glob'
18247             }, 'Parse::RecDescent::Subrule' ),
18248             bless( {
18249             'hashname' => '__STRING1__',
18250             'description' => '\':\'',
18251             'lookahead' => 0,
18252             'pattern' => ':',
18253             'line' => 80
18254             }, 'Parse::RecDescent::Literal' ),
18255             bless( {
18256             'implicit' => undef,
18257             'argcode' => undef,
18258             'line' => 80,
18259             'matchrule' => 0,
18260             'subrule' => 'glob',
18261             'lookahead' => 0
18262             }, 'Parse::RecDescent::Subrule' ),
18263             bless( {
18264             'argcode' => undef,
18265             'repspec' => '?',
18266             'line' => 80,
18267             'max' => 1,
18268             'expected' => undef,
18269             'min' => 0,
18270             'subrule' => 'pcondition',
18271             'matchrule' => 0,
18272             'lookahead' => 0
18273             }, 'Parse::RecDescent::Repetition' ),
18274             bless( {
18275             'hashname' => '__ACTION1__',
18276             'code' => '{
18277             +{
18278             -type => $item[1],
18279             -value => $item[3],
18280             ($item[-1][0] ? (-code => $item[-1][0]) : ())
18281             }
18282             }',
18283             'line' => 81,
18284             'lookahead' => 0
18285             }, 'Parse::RecDescent::Action' )
18286             ],
18287             'error' => undef,
18288             'patcount' => 0,
18289             'strcount' => 1,
18290             'number' => 0
18291             }, 'Parse::RecDescent::Production' ),
18292             bless( {
18293             'line' => 88,
18294             'actcount' => 1,
18295             'dircount' => 0,
18296             'uncommit' => undef,
18297             'items' => [
18298             bless( {
18299             'hashname' => '__STRING1__',
18300             'description' => '\':\'',
18301             'line' => 88,
18302             'pattern' => ':',
18303             'lookahead' => 0
18304             }, 'Parse::RecDescent::Literal' ),
18305             bless( {
18306             'argcode' => undef,
18307             'implicit' => undef,
18308             'lookahead' => 0,
18309             'subrule' => 'glob',
18310             'matchrule' => 0,
18311             'line' => 88
18312             }, 'Parse::RecDescent::Subrule' ),
18313             bless( {
18314             'line' => 88,
18315             'max' => 1,
18316             'expected' => undef,
18317             'repspec' => '?',
18318             'argcode' => undef,
18319             'subrule' => 'pcondition',
18320             'matchrule' => 0,
18321             'lookahead' => 0,
18322             'min' => 0
18323             }, 'Parse::RecDescent::Repetition' ),
18324             bless( {
18325             'hashname' => '__ACTION1__',
18326             'code' => '{
18327             +{
18328             -value => $item[2],
18329             ($item[-1][0] ? (-code => $item[-1][0]) : ())
18330             }
18331             }',
18332             'line' => 89,
18333             'lookahead' => 0
18334             }, 'Parse::RecDescent::Action' )
18335             ],
18336             'error' => undef,
18337             'patcount' => 0,
18338             'strcount' => 1,
18339             'number' => 1
18340             }, 'Parse::RecDescent::Production' ),
18341             bless( {
18342             'line' => 95,
18343             'dircount' => 0,
18344             'actcount' => 1,
18345             'uncommit' => undef,
18346             'items' => [
18347             bless( {
18348             'argcode' => undef,
18349             'implicit' => undef,
18350             'lookahead' => 0,
18351             'matchrule' => 0,
18352             'subrule' => 'glob',
18353             'line' => 95
18354             }, 'Parse::RecDescent::Subrule' ),
18355             bless( {
18356             'min' => 0,
18357             'lookahead' => 0,
18358             'subrule' => 'pcondition',
18359             'matchrule' => 0,
18360             'argcode' => undef,
18361             'repspec' => '?',
18362             'max' => 1,
18363             'expected' => undef,
18364             'line' => 95
18365             }, 'Parse::RecDescent::Repetition' ),
18366             bless( {
18367             'hashname' => '__ACTION1__',
18368             'code' => '{
18369             +{
18370             -type => $item[1],
18371             ($item[-1][0] ? (-code => $item[-1][0]) : ())
18372             }
18373             }',
18374             'line' => 96,
18375             'lookahead' => 0
18376             }, 'Parse::RecDescent::Action' )
18377             ],
18378             'strcount' => 0,
18379             'patcount' => 0,
18380             'number' => 2,
18381             'error' => undef
18382             }, 'Parse::RecDescent::Production' )
18383             ],
18384             'changed' => 0,
18385             'name' => 'pcomponent',
18386             'impcount' => 0,
18387             'line' => 80,
18388             'opcount' => 0
18389             }, 'Parse::RecDescent::Rule' ),
18390             'perl_codeblock' => bless( {
18391             'prods' => [
18392             bless( {
18393             'uncommit' => undef,
18394             'actcount' => 1,
18395             'dircount' => 0,
18396             'line' => undef,
18397             'error' => undef,
18398             'number' => 0,
18399             'patcount' => 0,
18400             'strcount' => 0,
18401             'items' => [
18402             bless( {
18403             'lookahead' => 0,
18404             'line' => 36,
18405             'code' => '{ Text::Balanced::extract_codeblock($text, \'{}()[]\', $skip, $arg[0]); }',
18406             'hashname' => '__ACTION1__'
18407             }, 'Parse::RecDescent::Action' )
18408             ]
18409             }, 'Parse::RecDescent::Production' )
18410             ],
18411             'calls' => [],
18412             'vars' => '',
18413             'changed' => 0,
18414             'name' => 'perl_codeblock',
18415             'impcount' => 0,
18416             'opcount' => 0,
18417             'line' => 35
18418             }, 'Parse::RecDescent::Rule' ),
18419             'template' => bless( {
18420             'line' => 113,
18421             'opcount' => 0,
18422             'impcount' => 0,
18423             'changed' => 0,
18424             'name' => 'template',
18425             'vars' => '',
18426             'calls' => [
18427             'directive',
18428             'eof'
18429             ],
18430             'prods' => [
18431             bless( {
18432             'line' => undef,
18433             'actcount' => 1,
18434             'dircount' => 1,
18435             'uncommit' => undef,
18436             'items' => [
18437             bless( {
18438             'name' => '',
18439             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
18440             'hashname' => '__DIRECTIVE1__',
18441             'lookahead' => 0,
18442             'line' => 115
18443             }, 'Parse::RecDescent::Directive' ),
18444             bless( {
18445             'argcode' => undef,
18446             'line' => 115,
18447             'max' => 100000000,
18448             'expected' => undef,
18449             'repspec' => 's?',
18450             'min' => 0,
18451             'matchrule' => 0,
18452             'subrule' => 'directive',
18453             'lookahead' => 0
18454             }, 'Parse::RecDescent::Repetition' ),
18455             bless( {
18456             'implicit' => undef,
18457             'argcode' => undef,
18458             'line' => 115,
18459             'matchrule' => 0,
18460             'subrule' => 'eof',
18461             'lookahead' => 0
18462             }, 'Parse::RecDescent::Subrule' ),
18463             bless( {
18464             'line' => 115,
18465             'lookahead' => 0,
18466             'hashname' => '__ACTION1__',
18467             'code' => '{ $item[2]; }'
18468             }, 'Parse::RecDescent::Action' )
18469             ],
18470             'error' => undef,
18471             'strcount' => 0,
18472             'patcount' => 0,
18473             'number' => 0
18474             }, 'Parse::RecDescent::Production' ),
18475             bless( {
18476             'uncommit' => 0,
18477             'actcount' => 0,
18478             'dircount' => 1,
18479             'line' => 116,
18480             'error' => 1,
18481             'number' => 1,
18482             'strcount' => 0,
18483             'patcount' => 0,
18484             'items' => [
18485             bless( {
18486             'commitonly' => '',
18487             'lookahead' => 0,
18488             'line' => 116,
18489             'msg' => '',
18490             'hashname' => '__DIRECTIVE1__'
18491             }, 'Parse::RecDescent::Error' )
18492             ]
18493             }, 'Parse::RecDescent::Production' )
18494             ]
18495             }, 'Parse::RecDescent::Rule' ),
18496             'literal' => bless( {
18497             'opcount' => 0,
18498             'line' => 6,
18499             'name' => 'literal',
18500             'changed' => 0,
18501             'impcount' => 0,
18502             'prods' => [
18503             bless( {
18504             'error' => undef,
18505             'number' => 0,
18506             'patcount' => 1,
18507             'strcount' => 0,
18508             'items' => [
18509             bless( {
18510             'rdelim' => '/',
18511             'ldelim' => '/',
18512             'pattern' => '[[:alnum:].!@%*=:\\/?_+-]+',
18513             'lookahead' => 0,
18514             'mod' => '',
18515             'hashname' => '__PATTERN1__',
18516             'description' => '/[[:alnum:].!@%*=:\\\\/?_+-]+/',
18517             'line' => 6
18518             }, 'Parse::RecDescent::Token' )
18519             ],
18520             'uncommit' => undef,
18521             'actcount' => 0,
18522             'dircount' => 0,
18523             'line' => undef
18524             }, 'Parse::RecDescent::Production' ),
18525             bless( {
18526             'number' => 1,
18527             'strcount' => 0,
18528             'patcount' => 1,
18529             'error' => undef,
18530             'items' => [
18531             bless( {
18532             'hashname' => '__PATTERN1__',
18533             'description' => '/"(?:[^"]|\\\\\\\\.)*"/',
18534             'mod' => '',
18535             'line' => 7,
18536             'ldelim' => '/',
18537             'rdelim' => '/',
18538             'pattern' => '"(?:[^"]|\\\\.)*"',
18539             'lookahead' => 0
18540             }, 'Parse::RecDescent::Token' ),
18541             bless( {
18542             'hashname' => '__ACTION1__',
18543             'code' => '{ Config::Maker::unquote_double($item[1]); }',
18544             'line' => 7,
18545             'lookahead' => 0
18546             }, 'Parse::RecDescent::Action' )
18547             ],
18548             'uncommit' => undef,
18549             'actcount' => 1,
18550             'dircount' => 0,
18551             'line' => 7
18552             }, 'Parse::RecDescent::Production' ),
18553             bless( {
18554             'items' => [
18555             bless( {
18556             'pattern' => '\'(?:[^\']|\\\\.)*\'',
18557             'lookahead' => 0,
18558             'rdelim' => '/',
18559             'ldelim' => '/',
18560             'line' => 8,
18561             'mod' => '',
18562             'description' => '/\'(?:[^\']|\\\\\\\\.)*\'/',
18563             'hashname' => '__PATTERN1__'
18564             }, 'Parse::RecDescent::Token' ),
18565             bless( {
18566             'code' => '{ Config::Maker::unquote_single($item[1]); }',
18567             'hashname' => '__ACTION1__',
18568             'lookahead' => 0,
18569             'line' => 8
18570             }, 'Parse::RecDescent::Action' )
18571             ],
18572             'strcount' => 0,
18573             'patcount' => 1,
18574             'number' => 2,
18575             'error' => undef,
18576             'line' => 8,
18577             'dircount' => 0,
18578             'actcount' => 1,
18579             'uncommit' => undef
18580             }, 'Parse::RecDescent::Production' ),
18581             bless( {
18582             'dircount' => 1,
18583             'actcount' => 0,
18584             'uncommit' => 0,
18585             'line' => 9,
18586             'patcount' => 0,
18587             'strcount' => 0,
18588             'number' => 3,
18589             'error' => 1,
18590             'items' => [
18591             bless( {
18592             'line' => 9,
18593             'lookahead' => 0,
18594             'commitonly' => '',
18595             'hashname' => '__DIRECTIVE1__',
18596             'msg' => ''
18597             }, 'Parse::RecDescent::Error' )
18598             ]
18599             }, 'Parse::RecDescent::Production' )
18600             ],
18601             'calls' => [],
18602             'vars' => ''
18603             }, 'Parse::RecDescent::Rule' ),
18604             'body_named_group' => bless( {
18605             'vars' => '',
18606             'prods' => [
18607             bless( {
18608             'strcount' => 0,
18609             'patcount' => 0,
18610             'number' => 0,
18611             'error' => undef,
18612             'items' => [
18613             bless( {
18614             'implicit' => undef,
18615             'argcode' => '[@{$arg[1]}]',
18616             'matchrule' => 0,
18617             'subrule' => 'value',
18618             'lookahead' => 0,
18619             'line' => 339
18620             }, 'Parse::RecDescent::Subrule' ),
18621             bless( {
18622             'argcode' => '[$arg[0]]',
18623             'implicit' => undef,
18624             'lookahead' => 0,
18625             'matchrule' => 0,
18626             'subrule' => 'block',
18627             'line' => 340
18628             }, 'Parse::RecDescent::Subrule' ),
18629             bless( {
18630             'code' => '{ +{
18631             -value => $item[1],
18632             -children => $item[2],
18633             }; }',
18634             'hashname' => '__ACTION1__',
18635             'lookahead' => 0,
18636             'line' => 341
18637             }, 'Parse::RecDescent::Action' )
18638             ],
18639             'dircount' => 0,
18640             'actcount' => 1,
18641             'uncommit' => undef,
18642             'line' => undef
18643             }, 'Parse::RecDescent::Production' ),
18644             bless( {
18645             'line' => 345,
18646             'actcount' => 0,
18647             'dircount' => 1,
18648             'uncommit' => 0,
18649             'items' => [
18650             bless( {
18651             'hashname' => '__DIRECTIVE1__',
18652             'msg' => '',
18653             'commitonly' => '',
18654             'lookahead' => 0,
18655             'line' => 345
18656             }, 'Parse::RecDescent::Error' )
18657             ],
18658             'error' => 1,
18659             'patcount' => 0,
18660             'strcount' => 0,
18661             'number' => 1
18662             }, 'Parse::RecDescent::Production' )
18663             ],
18664             'calls' => [
18665             'value',
18666             'block'
18667             ],
18668             'impcount' => 0,
18669             'name' => 'body_named_group',
18670             'changed' => 0,
18671             'line' => 338,
18672             'opcount' => 0
18673             }, 'Parse::RecDescent::Rule' ),
18674             'byte' => bless( {
18675             'opcount' => 0,
18676             'line' => 406,
18677             'changed' => 0,
18678             'name' => 'byte',
18679             'impcount' => 0,
18680             'prods' => [
18681             bless( {
18682             'items' => [
18683             bless( {
18684             'argcode' => '[0,255]',
18685             'implicit' => undef,
18686             'lookahead' => 0,
18687             'matchrule' => 0,
18688             'subrule' => 'decint',
18689             'line' => 406
18690             }, 'Parse::RecDescent::Subrule' )
18691             ],
18692             'error' => undef,
18693             'patcount' => 0,
18694             'strcount' => 0,
18695             'number' => 0,
18696             'line' => undef,
18697             'actcount' => 0,
18698             'dircount' => 0,
18699             'uncommit' => undef
18700             }, 'Parse::RecDescent::Production' )
18701             ],
18702             'calls' => [
18703             'decint'
18704             ],
18705             'vars' => ''
18706             }, 'Parse::RecDescent::Rule' ),
18707             'body' => bless( {
18708             'calls' => [],
18709             'vars' => '',
18710             'prods' => [
18711             bless( {
18712             'line' => undef,
18713             'uncommit' => undef,
18714             'actcount' => 0,
18715             'dircount' => 0,
18716             'items' => [
18717             bless( {
18718             'argcode' => '[$arg[0], @arg[2..$#arg]]',
18719             'implicit' => undef,
18720             'line' => 316,
18721             'lookahead' => 0,
18722             'matchrule' => 1,
18723             'subrule' => 'body_$arg[1]'
18724             }, 'Parse::RecDescent::Subrule' )
18725             ],
18726             'number' => 0,
18727             'strcount' => 0,
18728             'patcount' => 0,
18729             'error' => undef
18730             }, 'Parse::RecDescent::Production' )
18731             ],
18732             'impcount' => 0,
18733             'name' => 'body',
18734             'changed' => 0,
18735             'line' => 314,
18736             'opcount' => 0
18737             }, 'Parse::RecDescent::Rule' ),
18738             'space' => bless( {
18739             'opcount' => 0,
18740             'line' => 279,
18741             'impcount' => 0,
18742             'name' => 'space',
18743             'changed' => 0,
18744             'vars' => '',
18745             'calls' => [],
18746             'prods' => [
18747             bless( {
18748             'dircount' => 1,
18749             'actcount' => 0,
18750             'uncommit' => undef,
18751             'line' => undef,
18752             'patcount' => 1,
18753             'strcount' => 0,
18754             'number' => 0,
18755             'error' => undef,
18756             'items' => [
18757             bless( {
18758             'lookahead' => 0,
18759             'line' => 279,
18760             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
18761             'name' => '',
18762             'hashname' => '__DIRECTIVE1__'
18763             }, 'Parse::RecDescent::Directive' ),
18764             bless( {
18765             'ldelim' => '/',
18766             'rdelim' => '/',
18767             'pattern' => '[ \\t]*\\n?',
18768             'lookahead' => 0,
18769             'description' => '/[ \\\\t]*\\\\n?/',
18770             'hashname' => '__PATTERN1__',
18771             'mod' => '',
18772             'line' => 279
18773             }, 'Parse::RecDescent::Token' )
18774             ]
18775             }, 'Parse::RecDescent::Production' )
18776             ]
18777             }, 'Parse::RecDescent::Rule' ),
18778             'value_path' => bless( {
18779             'prods' => [
18780             bless( {
18781             'items' => [
18782             bless( {
18783             'line' => 430,
18784             'subrule' => 'path',
18785             'matchrule' => 0,
18786             'lookahead' => 0,
18787             'implicit' => undef,
18788             'argcode' => undef
18789             }, 'Parse::RecDescent::Subrule' )
18790             ],
18791             'error' => undef,
18792             'patcount' => 0,
18793             'strcount' => 0,
18794             'number' => 0,
18795             'line' => undef,
18796             'actcount' => 0,
18797             'dircount' => 0,
18798             'uncommit' => undef
18799             }, 'Parse::RecDescent::Production' )
18800             ],
18801             'calls' => [
18802             'path'
18803             ],
18804             'vars' => '',
18805             'opcount' => 0,
18806             'line' => 430,
18807             'impcount' => 0,
18808             'changed' => 0,
18809             'name' => 'value_path'
18810             }, 'Parse::RecDescent::Rule' ),
18811             'value_mac' => bless( {
18812             'opcount' => 0,
18813             'line' => 426,
18814             'impcount' => 0,
18815             'name' => 'value_mac',
18816             'changed' => 0,
18817             'vars' => '',
18818             'calls' => [],
18819             'prods' => [
18820             bless( {
18821             'strcount' => 0,
18822             'patcount' => 1,
18823             'number' => 0,
18824             'error' => undef,
18825             'items' => [
18826             bless( {
18827             'line' => 427,
18828             'description' => '/([[:xdigit:]]\\{2\\}:)\\{5\\}[[:xdigit:]]\\{2\\}/',
18829             'hashname' => '__PATTERN1__',
18830             'mod' => '',
18831             'lookahead' => 0,
18832             'pattern' => '([[:xdigit:]]{2}:){5}[[:xdigit:]]{2}',
18833             'ldelim' => '/',
18834             'rdelim' => '/'
18835             }, 'Parse::RecDescent::Token' )
18836             ],
18837             'actcount' => 0,
18838             'dircount' => 0,
18839             'uncommit' => undef,
18840             'line' => undef
18841             }, 'Parse::RecDescent::Production' ),
18842             bless( {
18843             'items' => [
18844             bless( {
18845             'line' => 428,
18846             'lookahead' => 0,
18847             'commitonly' => '',
18848             'hashname' => '__DIRECTIVE1__',
18849             'msg' => ''
18850             }, 'Parse::RecDescent::Error' )
18851             ],
18852             'error' => 1,
18853             'number' => 1,
18854             'patcount' => 0,
18855             'strcount' => 0,
18856             'line' => 428,
18857             'uncommit' => 0,
18858             'dircount' => 1,
18859             'actcount' => 0
18860             }, 'Parse::RecDescent::Production' )
18861             ]
18862             }, 'Parse::RecDescent::Rule' ),
18863             'closer' => bless( {
18864             'opcount' => 0,
18865             'line' => 158,
18866             'impcount' => 0,
18867             'name' => 'closer',
18868             'changed' => 0,
18869             'calls' => [
18870             'space'
18871             ],
18872             'prods' => [
18873             bless( {
18874             'items' => [
18875             bless( {
18876             'pattern' => '[$',
18877             'lookahead' => 0,
18878             'line' => 158,
18879             'description' => '\'[$\'',
18880             'hashname' => '__STRING1__'
18881             }, 'Parse::RecDescent::Literal' ),
18882             bless( {
18883             'line' => 158,
18884             'lookahead' => 0,
18885             'hashname' => '__DIRECTIVE1__',
18886             'name' => '',
18887             'code' => 'my $oldskip = $skip; $skip= qr/\\s*/; $oldskip'
18888             }, 'Parse::RecDescent::Directive' ),
18889             bless( {
18890             'line' => 158,
18891             'pattern' => 'end$arg[0]',
18892             'lookahead' => 0,
18893             'hashname' => '__STRING2__',
18894             'description' => '\'end$arg[0]\''
18895             }, 'Parse::RecDescent::InterpLit' ),
18896             bless( {
18897             'line' => 158,
18898             'lookahead' => 0,
18899             'hashname' => '__DIRECTIVE2__',
18900             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
18901             'name' => ''
18902             }, 'Parse::RecDescent::Directive' ),
18903             bless( {
18904             'line' => 158,
18905             'mod' => '',
18906             'hashname' => '__PATTERN1__',
18907             'description' => '/(\\\\s[^\\\\$\\\\[\\\\]]*)?/',
18908             'pattern' => '(\\s[^\\$\\[\\]]*)?',
18909             'lookahead' => 0,
18910             'rdelim' => '/',
18911             'ldelim' => '/'
18912             }, 'Parse::RecDescent::Token' ),
18913             bless( {
18914             'hashname' => '__STRING3__',
18915             'description' => '\'$]\'',
18916             'line' => 158,
18917             'pattern' => '$]',
18918             'lookahead' => 0
18919             }, 'Parse::RecDescent::Literal' ),
18920             bless( {
18921             'line' => 158,
18922             'lookahead' => 0,
18923             'subrule' => 'space',
18924             'matchrule' => 0,
18925             'argcode' => undef,
18926             'implicit' => undef
18927             }, 'Parse::RecDescent::Subrule' )
18928             ],
18929             'error' => undef,
18930             'number' => 0,
18931             'strcount' => 3,
18932             'patcount' => 1,
18933             'line' => undef,
18934             'uncommit' => undef,
18935             'actcount' => 0,
18936             'dircount' => 2
18937             }, 'Parse::RecDescent::Production' ),
18938             bless( {
18939             'uncommit' => undef,
18940             'dircount' => 0,
18941             'actcount' => 0,
18942             'line' => 159,
18943             'error' => undef,
18944             'number' => 1,
18945             'strcount' => 1,
18946             'patcount' => 0,
18947             'items' => [
18948             bless( {
18949             'description' => '\'[/]\'',
18950             'hashname' => '__STRING1__',
18951             'lookahead' => 0,
18952             'pattern' => '[/]',
18953             'line' => 159
18954             }, 'Parse::RecDescent::Literal' ),
18955             bless( {
18956             'implicit' => undef,
18957             'argcode' => undef,
18958             'matchrule' => 0,
18959             'subrule' => 'space',
18960             'lookahead' => 0,
18961             'line' => 159
18962             }, 'Parse::RecDescent::Subrule' )
18963             ]
18964             }, 'Parse::RecDescent::Production' ),
18965             bless( {
18966             'actcount' => 0,
18967             'dircount' => 1,
18968             'uncommit' => 0,
18969             'line' => 160,
18970             'error' => 1,
18971             'strcount' => 0,
18972             'patcount' => 0,
18973             'number' => 2,
18974             'items' => [
18975             bless( {
18976             'line' => 160,
18977             'lookahead' => 0,
18978             'commitonly' => '',
18979             'hashname' => '__DIRECTIVE1__',
18980             'msg' => ''
18981             }, 'Parse::RecDescent::Error' )
18982             ]
18983             }, 'Parse::RecDescent::Production' )
18984             ],
18985             'vars' => ''
18986             }, 'Parse::RecDescent::Rule' ),
18987             'opener' => bless( {
18988             'vars' => '',
18989             'calls' => [
18990             'value',
18991             'space'
18992             ],
18993             'prods' => [
18994             bless( {
18995             'items' => [
18996             bless( {
18997             'line' => 155,
18998             'pattern' => '[$',
18999             'lookahead' => 0,
19000             'description' => '\'[$\'',
19001             'hashname' => '__STRING1__'
19002             }, 'Parse::RecDescent::Literal' ),
19003             bless( {
19004             'hashname' => '__DIRECTIVE1__',
19005             'name' => '',
19006             'code' => 'my $oldskip = $skip; $skip= qr/\\s*/; $oldskip',
19007             'line' => 155,
19008             'lookahead' => 0
19009             }, 'Parse::RecDescent::Directive' ),
19010             bless( {
19011             'description' => '\'$arg[0]\'',
19012             'hashname' => '__STRING2__',
19013             'line' => 155,
19014             'lookahead' => 0,
19015             'pattern' => '$arg[0]'
19016             }, 'Parse::RecDescent::InterpLit' ),
19017             bless( {
19018             'argcode' => '[@arg[1..$#arg]]',
19019             'implicit' => undef,
19020             'lookahead' => 0,
19021             'subrule' => 'value',
19022             'matchrule' => 0,
19023             'line' => 155
19024             }, 'Parse::RecDescent::Subrule' ),
19025             bless( {
19026             'pattern' => '$]',
19027             'lookahead' => 0,
19028             'line' => 155,
19029             'hashname' => '__STRING3__',
19030             'description' => '\'$]\''
19031             }, 'Parse::RecDescent::Literal' ),
19032             bless( {
19033             'implicit' => undef,
19034             'argcode' => undef,
19035             'subrule' => 'space',
19036             'matchrule' => 0,
19037             'lookahead' => 0,
19038             'line' => 155
19039             }, 'Parse::RecDescent::Subrule' ),
19040             bless( {
19041             'line' => 156,
19042             'lookahead' => 0,
19043             'hashname' => '__ACTION1__',
19044             'code' => '{ $item[-3]; }'
19045             }, 'Parse::RecDescent::Action' )
19046             ],
19047             'strcount' => 3,
19048             'patcount' => 0,
19049             'number' => 0,
19050             'error' => undef,
19051             'line' => undef,
19052             'dircount' => 1,
19053             'actcount' => 1,
19054             'uncommit' => undef
19055             }, 'Parse::RecDescent::Production' )
19056             ],
19057             'opcount' => 0,
19058             'line' => 154,
19059             'impcount' => 0,
19060             'changed' => 0,
19061             'name' => 'opener'
19062             }, 'Parse::RecDescent::Rule' ),
19063             'hexint' => bless( {
19064             'vars' => '',
19065             'prods' => [
19066             bless( {
19067             'uncommit' => undef,
19068             'actcount' => 1,
19069             'dircount' => 1,
19070             'line' => undef,
19071             'error' => undef,
19072             'number' => 0,
19073             'patcount' => 1,
19074             'strcount' => 0,
19075             'items' => [
19076             bless( {
19077             'mod' => '',
19078             'description' => '/0x[[:xdigit:]]+/',
19079             'hashname' => '__PATTERN1__',
19080             'line' => 12,
19081             'rdelim' => '/',
19082             'ldelim' => '/',
19083             'lookahead' => 0,
19084             'pattern' => '0x[[:xdigit:]]+'
19085             }, 'Parse::RecDescent::Token' ),
19086             bless( {
19087             'lookahead' => 0,
19088             'line' => 12,
19089             'code' => '$commit = 1',
19090             'name' => '',
19091             'hashname' => '__DIRECTIVE1__'
19092             }, 'Parse::RecDescent::Directive' ),
19093             bless( {
19094             'hashname' => '__ACTION1__',
19095             'code' => '{ Config::Maker::limit(hex($item[1]), @arg); }',
19096             'line' => 12,
19097             'lookahead' => 0
19098             }, 'Parse::RecDescent::Action' )
19099             ]
19100             }, 'Parse::RecDescent::Production' ),
19101             bless( {
19102             'error' => 1,
19103             'strcount' => 0,
19104             'patcount' => 0,
19105             'number' => 1,
19106             'items' => [
19107             bless( {
19108             'line' => 14,
19109             'lookahead' => 0,
19110             'commitonly' => '?',
19111             'msg' => ' Number $item[1] out of range',
19112             'hashname' => '__DIRECTIVE1__'
19113             }, 'Parse::RecDescent::Error' ),
19114             bless( {
19115             'hashname' => '__DIRECTIVE2__',
19116             'name' => '',
19117             'line' => 14,
19118             'lookahead' => 0
19119             }, 'Parse::RecDescent::UncondReject' )
19120             ],
19121             'actcount' => 0,
19122             'dircount' => 2,
19123             'uncommit' => 0,
19124             'line' => 13
19125             }, 'Parse::RecDescent::Production' )
19126             ],
19127             'calls' => [],
19128             'opcount' => 0,
19129             'line' => 11,
19130             'changed' => 0,
19131             'name' => 'hexint',
19132             'impcount' => 0
19133             }, 'Parse::RecDescent::Rule' ),
19134             '_alternation_1_of_production_1_of_rule_value_ipv4_mask' => bless( {
19135             'line' => 432,
19136             'opcount' => 0,
19137             'name' => '_alternation_1_of_production_1_of_rule_value_ipv4_mask',
19138             'changed' => 0,
19139             'impcount' => 0,
19140             'prods' => [
19141             bless( {
19142             'line' => undef,
19143             'dircount' => 0,
19144             'actcount' => 0,
19145             'uncommit' => undef,
19146             'items' => [
19147             bless( {
19148             'argcode' => '[0,32]',
19149             'implicit' => undef,
19150             'lookahead' => 0,
19151             'subrule' => 'decint',
19152             'matchrule' => 0,
19153             'line' => 432
19154             }, 'Parse::RecDescent::Subrule' )
19155             ],
19156             'patcount' => 0,
19157             'strcount' => 0,
19158             'number' => 0,
19159             'error' => undef
19160             }, 'Parse::RecDescent::Production' ),
19161             bless( {
19162             'line' => 432,
19163             'actcount' => 0,
19164             'dircount' => 0,
19165             'uncommit' => undef,
19166             'items' => [
19167             bless( {
19168             'subrule' => 'value_ipv4',
19169             'matchrule' => 0,
19170             'lookahead' => 0,
19171             'line' => 432,
19172             'implicit' => undef,
19173             'argcode' => undef
19174             }, 'Parse::RecDescent::Subrule' )
19175             ],
19176             'error' => undef,
19177             'patcount' => 0,
19178             'strcount' => 0,
19179             'number' => 1
19180             }, 'Parse::RecDescent::Production' )
19181             ],
19182             'vars' => '',
19183             'calls' => [
19184             'decint',
19185             'value_ipv4'
19186             ]
19187             }, 'Parse::RecDescent::Rule' ),
19188             'option' => bless( {
19189             'vars' => '',
19190             'calls' => [
19191             'block',
19192             'type',
19193             'body'
19194             ],
19195             'prods' => [
19196             bless( {
19197             'items' => [
19198             bless( {
19199             'argcode' => '[@arg]',
19200             'implicit' => undef,
19201             'line' => 295,
19202             'lookahead' => 0,
19203             'subrule' => 'block',
19204             'matchrule' => 0
19205             }, 'Parse::RecDescent::Subrule' )
19206             ],
19207             'number' => 0,
19208             'patcount' => 0,
19209             'strcount' => 0,
19210             'error' => undef,
19211             'line' => undef,
19212             'uncommit' => undef,
19213             'actcount' => 0,
19214             'dircount' => 0
19215             }, 'Parse::RecDescent::Production' ),
19216             bless( {
19217             'line' => 296,
19218             'actcount' => 1,
19219             'dircount' => 1,
19220             'uncommit' => undef,
19221             'items' => [
19222             bless( {
19223             'implicit' => undef,
19224             'argcode' => '[@arg]',
19225             'matchrule' => 0,
19226             'subrule' => 'type',
19227             'lookahead' => 0,
19228             'line' => 297
19229             }, 'Parse::RecDescent::Subrule' ),
19230             bless( {
19231             'name' => '',
19232             'code' => '$commit = 1',
19233             'hashname' => '__DIRECTIVE1__',
19234             'lookahead' => 0,
19235             'line' => 297
19236             }, 'Parse::RecDescent::Directive' ),
19237             bless( {
19238             'argcode' => '[$item[1], $item[1]->body]',
19239             'implicit' => undef,
19240             'lookahead' => 0,
19241             'matchrule' => 0,
19242             'subrule' => 'body',
19243             'line' => 298
19244             }, 'Parse::RecDescent::Subrule' ),
19245             bless( {
19246             'code' => '{
19247             $item[1]->instantiate($item[3]);
19248             }',
19249             'hashname' => '__ACTION1__',
19250             'lookahead' => 0,
19251             'line' => 299
19252             }, 'Parse::RecDescent::Action' )
19253             ],
19254             'error' => undef,
19255             'patcount' => 0,
19256             'strcount' => 0,
19257             'number' => 1
19258             }, 'Parse::RecDescent::Production' ),
19259             bless( {
19260             'actcount' => 0,
19261             'dircount' => 2,
19262             'uncommit' => 0,
19263             'line' => 302,
19264             'strcount' => 0,
19265             'patcount' => 0,
19266             'number' => 2,
19267             'error' => 1,
19268             'items' => [
19269             bless( {
19270             'hashname' => '__DIRECTIVE1__',
19271             'msg' => '',
19272             'lookahead' => 0,
19273             'commitonly' => '?',
19274             'line' => 303
19275             }, 'Parse::RecDescent::Error' ),
19276             bless( {
19277             'hashname' => '__DIRECTIVE2__',
19278             'name' => '',
19279             'line' => 303,
19280             'lookahead' => 0
19281             }, 'Parse::RecDescent::UncondReject' )
19282             ]
19283             }, 'Parse::RecDescent::Production' )
19284             ],
19285             'line' => 293,
19286             'opcount' => 0,
19287             'impcount' => 0,
19288             'changed' => 0,
19289             'name' => 'option'
19290             }, 'Parse::RecDescent::Rule' ),
19291             'value_pair' => bless( {
19292             'opcount' => 0,
19293             'line' => 379,
19294             'impcount' => 0,
19295             'name' => 'value_pair',
19296             'changed' => 0,
19297             'vars' => '',
19298             'calls' => [],
19299             'prods' => [
19300             bless( {
19301             'items' => [
19302             bless( {
19303             'line' => 380,
19304             'subrule' => 'value_$arg[0][0]',
19305             'matchrule' => 1,
19306             'lookahead' => 0,
19307             'implicit' => undef,
19308             'argcode' => '[$arg[0][1..$#{$arg[0]}]]'
19309             }, 'Parse::RecDescent::Subrule' ),
19310             bless( {
19311             'implicit' => undef,
19312             'argcode' => '[$arg[1][1..$#{$arg[1]}]]',
19313             'line' => 381,
19314             'matchrule' => 1,
19315             'subrule' => 'value_$arg[1][0]',
19316             'lookahead' => 0
19317             }, 'Parse::RecDescent::Subrule' ),
19318             bless( {
19319             'lookahead' => 0,
19320             'line' => 383,
19321             'code' => '{ new Config::Maker::Value::List [$item[1], $item[-1]]; }',
19322             'hashname' => '__ACTION1__'
19323             }, 'Parse::RecDescent::Action' )
19324             ],
19325             'number' => 0,
19326             'patcount' => 0,
19327             'strcount' => 0,
19328             'error' => undef,
19329             'line' => undef,
19330             'uncommit' => undef,
19331             'actcount' => 1,
19332             'dircount' => 0
19333             }, 'Parse::RecDescent::Production' ),
19334             bless( {
19335             'line' => 384,
19336             'actcount' => 0,
19337             'dircount' => 1,
19338             'uncommit' => 0,
19339             'items' => [
19340             bless( {
19341             'msg' => '',
19342             'hashname' => '__DIRECTIVE1__',
19343             'commitonly' => '',
19344             'lookahead' => 0,
19345             'line' => 384
19346             }, 'Parse::RecDescent::Error' )
19347             ],
19348             'patcount' => 0,
19349             'strcount' => 0,
19350             'number' => 1,
19351             'error' => 1
19352             }, 'Parse::RecDescent::Production' )
19353             ]
19354             }, 'Parse::RecDescent::Rule' ),
19355             'configuration' => bless( {
19356             'opcount' => 0,
19357             'line' => 283,
19358             'impcount' => 0,
19359             'changed' => 0,
19360             'name' => 'configuration',
19361             'prods' => [
19362             bless( {
19363             'line' => undef,
19364             'uncommit' => undef,
19365             'actcount' => 1,
19366             'dircount' => 1,
19367             'items' => [
19368             bless( {
19369             'hashname' => '__DIRECTIVE1__',
19370             'name' => '',
19371             'code' => 'my $oldskip = $skip; $skip= qr/(\\s|#[^\\n]*)*/; $oldskip',
19372             'line' => 285,
19373             'lookahead' => 0
19374             }, 'Parse::RecDescent::Directive' ),
19375             bless( {
19376             'min' => 0,
19377             'matchrule' => 0,
19378             'subrule' => 'option',
19379             'lookahead' => 0,
19380             'argcode' => '[$arg[0]]',
19381             'line' => 286,
19382             'expected' => undef,
19383             'max' => 100000000,
19384             'repspec' => 's?'
19385             }, 'Parse::RecDescent::Repetition' ),
19386             bless( {
19387             'argcode' => undef,
19388             'implicit' => undef,
19389             'lookahead' => 0,
19390             'matchrule' => 0,
19391             'subrule' => 'eof',
19392             'line' => 287
19393             }, 'Parse::RecDescent::Subrule' ),
19394             bless( {
19395             'lookahead' => 0,
19396             'line' => 288,
19397             'code' => '{ $item[2]; }',
19398             'hashname' => '__ACTION1__'
19399             }, 'Parse::RecDescent::Action' )
19400             ],
19401             'number' => 0,
19402             'strcount' => 0,
19403             'patcount' => 0,
19404             'error' => undef
19405             }, 'Parse::RecDescent::Production' ),
19406             bless( {
19407             'items' => [
19408             bless( {
19409             'lookahead' => 0,
19410             'commitonly' => '',
19411             'line' => 290,
19412             'msg' => '',
19413             'hashname' => '__DIRECTIVE1__'
19414             }, 'Parse::RecDescent::Error' )
19415             ],
19416             'number' => 1,
19417             'patcount' => 0,
19418             'strcount' => 0,
19419             'error' => 1,
19420             'line' => 289,
19421             'uncommit' => 0,
19422             'actcount' => 0,
19423             'dircount' => 1
19424             }, 'Parse::RecDescent::Production' )
19425             ],
19426             'vars' => '',
19427             'calls' => [
19428             'option',
19429             'eof'
19430             ]
19431             }, 'Parse::RecDescent::Rule' ),
19432             'value' => bless( {
19433             'calls' => [],
19434             'prods' => [
19435             bless( {
19436             'strcount' => 1,
19437             'patcount' => 0,
19438             'number' => 0,
19439             'error' => undef,
19440             'items' => [
19441             bless( {
19442             'hashname' => '__STRING1__',
19443             'description' => '\'\'',
19444             'lookahead' => 0,
19445             'pattern' => '',
19446             'line' => 351
19447             }, 'Parse::RecDescent::Literal' ),
19448             bless( {
19449             'implicit' => undef,
19450             'argcode' => '[@arg[1..$#arg]]',
19451             'subrule' => 'value_$arg[0]',
19452             'matchrule' => 1,
19453             'lookahead' => 0,
19454             'line' => 351
19455             }, 'Parse::RecDescent::Subrule' )
19456             ],
19457             'actcount' => 0,
19458             'dircount' => 0,
19459             'uncommit' => undef,
19460             'line' => undef
19461             }, 'Parse::RecDescent::Production' )
19462             ],
19463             'vars' => '',
19464             'line' => 350,
19465             'opcount' => 0,
19466             'impcount' => 0,
19467             'changed' => 0,
19468             'name' => 'value'
19469             }, 'Parse::RecDescent::Rule' ),
19470             'value_list' => bless( {
19471             'impcount' => 0,
19472             'name' => 'value_list',
19473             'changed' => 0,
19474             'opcount' => 0,
19475             'line' => 356,
19476             'prods' => [
19477             bless( {
19478             'error' => undef,
19479             'number' => 0,
19480             'strcount' => 0,
19481             'patcount' => 0,
19482             'items' => [
19483             bless( {
19484             'min' => 1,
19485             'subrule' => 'value',
19486             'matchrule' => 0,
19487             'lookahead' => 0,
19488             'argcode' => '[@arg]',
19489             'line' => 358,
19490             'max' => 100000000,
19491             'expected' => undef,
19492             'repspec' => 's'
19493             }, 'Parse::RecDescent::Repetition' ),
19494             bless( {
19495             'lookahead' => 0,
19496             'line' => 359,
19497             'code' => '{ new Config::Maker::Value::List($item[1]); }',
19498             'hashname' => '__ACTION1__'
19499             }, 'Parse::RecDescent::Action' )
19500             ],
19501             'uncommit' => undef,
19502             'actcount' => 1,
19503             'dircount' => 0,
19504             'line' => undef
19505             }, 'Parse::RecDescent::Production' ),
19506             bless( {
19507             'dircount' => 1,
19508             'actcount' => 0,
19509             'uncommit' => 0,
19510             'line' => 360,
19511             'error' => 1,
19512             'strcount' => 0,
19513             'patcount' => 0,
19514             'number' => 1,
19515             'items' => [
19516             bless( {
19517             'lookahead' => 0,
19518             'commitonly' => '',
19519             'line' => 360,
19520             'hashname' => '__DIRECTIVE1__',
19521             'msg' => ''
19522             }, 'Parse::RecDescent::Error' )
19523             ]
19524             }, 'Parse::RecDescent::Production' )
19525             ],
19526             'calls' => [
19527             'value'
19528             ],
19529             'vars' => ''
19530             }, 'Parse::RecDescent::Rule' ),
19531             'value_port' => bless( {
19532             'calls' => [
19533             'decint'
19534             ],
19535             'prods' => [
19536             bless( {
19537             'actcount' => 0,
19538             'dircount' => 0,
19539             'uncommit' => undef,
19540             'line' => undef,
19541             'strcount' => 0,
19542             'patcount' => 0,
19543             'number' => 0,
19544             'error' => undef,
19545             'items' => [
19546             bless( {
19547             'argcode' => '[0,65535]',
19548             'implicit' => undef,
19549             'line' => 413,
19550             'lookahead' => 0,
19551             'matchrule' => 0,
19552             'subrule' => 'decint'
19553             }, 'Parse::RecDescent::Subrule' )
19554             ]
19555             }, 'Parse::RecDescent::Production' ),
19556             bless( {
19557             'items' => [
19558             bless( {
19559             'line' => 414,
19560             'commitonly' => '',
19561             'lookahead' => 0,
19562             'msg' => '',
19563             'hashname' => '__DIRECTIVE1__'
19564             }, 'Parse::RecDescent::Error' )
19565             ],
19566             'strcount' => 0,
19567             'patcount' => 0,
19568             'number' => 1,
19569             'error' => 1,
19570             'line' => 414,
19571             'actcount' => 0,
19572             'dircount' => 1,
19573             'uncommit' => 0
19574             }, 'Parse::RecDescent::Production' )
19575             ],
19576             'vars' => '',
19577             'opcount' => 0,
19578             'line' => 413,
19579             'changed' => 0,
19580             'name' => 'value_port',
19581             'impcount' => 0
19582             }, 'Parse::RecDescent::Rule' ),
19583             'pcondition' => bless( {
19584             'calls' => [
19585             'perl_codeblock'
19586             ],
19587             'prods' => [
19588             bless( {
19589             'line' => undef,
19590             'uncommit' => undef,
19591             'actcount' => 0,
19592             'dircount' => 0,
19593             'items' => [
19594             bless( {
19595             'line' => 103,
19596             'subrule' => 'perl_codeblock',
19597             'matchrule' => 0,
19598             'lookahead' => 0,
19599             'implicit' => undef,
19600             'argcode' => '[\'()\']'
19601             }, 'Parse::RecDescent::Subrule' )
19602             ],
19603             'number' => 0,
19604             'patcount' => 0,
19605             'strcount' => 0,
19606             'error' => undef
19607             }, 'Parse::RecDescent::Production' )
19608             ],
19609             'vars' => '',
19610             'opcount' => 0,
19611             'line' => 103,
19612             'impcount' => 0,
19613             'name' => 'pcondition',
19614             'changed' => 0
19615             }, 'Parse::RecDescent::Rule' ),
19616             'separator' => bless( {
19617             'opcount' => 0,
19618             'line' => 111,
19619             'changed' => 0,
19620             'name' => 'separator',
19621             'impcount' => 0,
19622             'vars' => '',
19623             'calls' => [],
19624             'prods' => [
19625             bless( {
19626             'actcount' => 0,
19627             'dircount' => 0,
19628             'uncommit' => undef,
19629             'line' => undef,
19630             'patcount' => 1,
19631             'strcount' => 0,
19632             'number' => 0,
19633             'error' => undef,
19634             'items' => [
19635             bless( {
19636             'line' => 111,
19637             'mod' => '',
19638             'hashname' => '__PATTERN1__',
19639             'description' => '/\\\\/+/',
19640             'pattern' => '\\/+',
19641             'lookahead' => 0,
19642             'rdelim' => '/',
19643             'ldelim' => '/'
19644             }, 'Parse::RecDescent::Token' )
19645             ]
19646             }, 'Parse::RecDescent::Production' )
19647             ]
19648             }, 'Parse::RecDescent::Rule' ),
19649             'optpath' => bless( {
19650             'calls' => [
19651             'path'
19652             ],
19653             'vars' => '',
19654             'prods' => [
19655             bless( {
19656             'dircount' => 0,
19657             'actcount' => 0,
19658             'uncommit' => undef,
19659             'line' => undef,
19660             'patcount' => 0,
19661             'strcount' => 1,
19662             'number' => 0,
19663             'error' => undef,
19664             'items' => [
19665             bless( {
19666             'line' => 137,
19667             'pattern' => ':',
19668             'lookahead' => 0,
19669             'description' => '\':\'',
19670             'hashname' => '__STRING1__'
19671             }, 'Parse::RecDescent::Literal' ),
19672             bless( {
19673             'argcode' => undef,
19674             'implicit' => undef,
19675             'lookahead' => 0,
19676             'matchrule' => 0,
19677             'subrule' => 'path',
19678             'line' => 137
19679             }, 'Parse::RecDescent::Subrule' )
19680             ]
19681             }, 'Parse::RecDescent::Production' ),
19682             bless( {
19683             'items' => [
19684             bless( {
19685             'hashname' => '__ACTION1__',
19686             'code' => '{ new Config::Maker::Path::This(); }',
19687             'line' => 138,
19688             'lookahead' => 0
19689             }, 'Parse::RecDescent::Action' )
19690             ],
19691             'strcount' => 0,
19692             'patcount' => 0,
19693             'number' => 1,
19694             'error' => undef,
19695             'line' => 138,
19696             'actcount' => 1,
19697             'dircount' => 0,
19698             'uncommit' => undef
19699             }, 'Parse::RecDescent::Production' )
19700             ],
19701             'name' => 'optpath',
19702             'changed' => 0,
19703             'impcount' => 0,
19704             'opcount' => 0,
19705             'line' => 137
19706             }, 'Parse::RecDescent::Rule' ),
19707             'value_void' => bless( {
19708             'vars' => '',
19709             'prods' => [
19710             bless( {
19711             'dircount' => 0,
19712             'actcount' => 0,
19713             'uncommit' => undef,
19714             'line' => undef,
19715             'error' => undef,
19716             'patcount' => 0,
19717             'strcount' => 0,
19718             'number' => 0,
19719             'items' => []
19720             }, 'Parse::RecDescent::Production' )
19721             ],
19722             'calls' => [],
19723             'impcount' => 0,
19724             'changed' => 0,
19725             'name' => 'value_void',
19726             'opcount' => 0,
19727             'line' => 353
19728             }, 'Parse::RecDescent::Rule' ),
19729             'nonglob' => bless( {
19730             'prods' => [
19731             bless( {
19732             'line' => undef,
19733             'actcount' => 0,
19734             'dircount' => 0,
19735             'uncommit' => undef,
19736             'items' => [
19737             bless( {
19738             'pattern' => '\\Q$arg[0]\\E(?![[:alnum:].@%*=?|_\\\\\\[\\]{}-])',
19739             'lookahead' => 0,
19740             'ldelim' => '/',
19741             'rdelim' => '/',
19742             'line' => 107,
19743             'description' => '/\\\\Q$arg[0]\\\\E(?![[:alnum:].@%*=?|_\\\\\\\\\\\\[\\\\]\\{\\}-])/',
19744             'hashname' => '__PATTERN1__',
19745             'mod' => ''
19746             }, 'Parse::RecDescent::Token' )
19747             ],
19748             'patcount' => 1,
19749             'strcount' => 0,
19750             'number' => 0,
19751             'error' => undef
19752             }, 'Parse::RecDescent::Production' )
19753             ],
19754             'calls' => [],
19755             'vars' => '',
19756             'impcount' => 0,
19757             'changed' => 0,
19758             'name' => 'nonglob',
19759             'opcount' => 0,
19760             'line' => 107
19761             }, 'Parse::RecDescent::Rule' ),
19762             'glob' => bless( {
19763             'prods' => [
19764             bless( {
19765             'actcount' => 0,
19766             'dircount' => 0,
19767             'uncommit' => undef,
19768             'line' => undef,
19769             'error' => undef,
19770             'patcount' => 1,
19771             'strcount' => 0,
19772             'number' => 0,
19773             'items' => [
19774             bless( {
19775             'ldelim' => '/',
19776             'rdelim' => '/',
19777             'lookahead' => 0,
19778             'pattern' => '([[:alnum:].@%*=?|_\\[\\]{}-]|\\\\.)+',
19779             'description' => '/([[:alnum:].@%*=?|_\\\\[\\\\]\\{\\}-]|\\\\\\\\.)+/',
19780             'hashname' => '__PATTERN1__',
19781             'mod' => '',
19782             'line' => 105
19783             }, 'Parse::RecDescent::Token' )
19784             ]
19785             }, 'Parse::RecDescent::Production' )
19786             ],
19787             'vars' => '',
19788             'calls' => [],
19789             'line' => 105,
19790             'opcount' => 0,
19791             'impcount' => 0,
19792             'changed' => 0,
19793             'name' => 'glob'
19794             }, 'Parse::RecDescent::Rule' ),
19795             'body_anon_group' => bless( {
19796             'calls' => [
19797             'block'
19798             ],
19799             'prods' => [
19800             bless( {
19801             'uncommit' => undef,
19802             'actcount' => 1,
19803             'dircount' => 0,
19804             'line' => undef,
19805             'number' => 0,
19806             'strcount' => 0,
19807             'patcount' => 0,
19808             'error' => undef,
19809             'items' => [
19810             bless( {
19811             'implicit' => undef,
19812             'argcode' => '[$arg[0]]',
19813             'matchrule' => 0,
19814             'subrule' => 'block',
19815             'lookahead' => 0,
19816             'line' => 334
19817             }, 'Parse::RecDescent::Subrule' ),
19818             bless( {
19819             'code' => '{ +{ -children => $item[1] }; }',
19820             'hashname' => '__ACTION1__',
19821             'lookahead' => 0,
19822             'line' => 335
19823             }, 'Parse::RecDescent::Action' )
19824             ]
19825             }, 'Parse::RecDescent::Production' ),
19826             bless( {
19827             'items' => [
19828             bless( {
19829             'line' => 336,
19830             'commitonly' => '',
19831             'lookahead' => 0,
19832             'msg' => '',
19833             'hashname' => '__DIRECTIVE1__'
19834             }, 'Parse::RecDescent::Error' )
19835             ],
19836             'number' => 1,
19837             'strcount' => 0,
19838             'patcount' => 0,
19839             'error' => 1,
19840             'line' => 336,
19841             'uncommit' => 0,
19842             'actcount' => 0,
19843             'dircount' => 1
19844             }, 'Parse::RecDescent::Production' )
19845             ],
19846             'vars' => '',
19847             'impcount' => 0,
19848             'name' => 'body_anon_group',
19849             'changed' => 0,
19850             'opcount' => 0,
19851             'line' => 333
19852             }, 'Parse::RecDescent::Rule' ),
19853             'octint' => bless( {
19854             'opcount' => 0,
19855             'line' => 16,
19856             'impcount' => 0,
19857             'changed' => 0,
19858             'name' => 'octint',
19859             'prods' => [
19860             bless( {
19861             'strcount' => 0,
19862             'patcount' => 1,
19863             'number' => 0,
19864             'error' => undef,
19865             'items' => [
19866             bless( {
19867             'line' => 17,
19868             'mod' => '',
19869             'hashname' => '__PATTERN1__',
19870             'description' => '/0[0-7]*/',
19871             'lookahead' => 0,
19872             'pattern' => '0[0-7]*',
19873             'rdelim' => '/',
19874             'ldelim' => '/'
19875             }, 'Parse::RecDescent::Token' ),
19876             bless( {
19877             'line' => 17,
19878             'lookahead' => 0,
19879             'hashname' => '__ACTION1__',
19880             'code' => '{ Config::Maker::limit(oct($item[1]), @arg); }'
19881             }, 'Parse::RecDescent::Action' )
19882             ],
19883             'dircount' => 0,
19884             'actcount' => 1,
19885             'uncommit' => undef,
19886             'line' => undef
19887             }, 'Parse::RecDescent::Production' ),
19888             bless( {
19889             'items' => [
19890             bless( {
19891             'lookahead' => 0,
19892             'commitonly' => '?',
19893             'line' => 19,
19894             'hashname' => '__DIRECTIVE1__',
19895             'msg' => ' Number $item[1] out of range'
19896             }, 'Parse::RecDescent::Error' ),
19897             bless( {
19898             'line' => 19,
19899             'lookahead' => 0,
19900             'hashname' => '__DIRECTIVE2__',
19901             'name' => ''
19902             }, 'Parse::RecDescent::UncondReject' )
19903             ],
19904             'error' => 1,
19905             'patcount' => 0,
19906             'strcount' => 0,
19907             'number' => 1,
19908             'line' => 18,
19909             'actcount' => 0,
19910             'dircount' => 2,
19911             'uncommit' => 0
19912             }, 'Parse::RecDescent::Production' )
19913             ],
19914             'calls' => [],
19915             'vars' => ''
19916             }, 'Parse::RecDescent::Rule' ),
19917             'path' => bless( {
19918             'vars' => '',
19919             'calls' => [
19920             'metaroot',
19921             'relpath',
19922             'separator'
19923             ],
19924             'prods' => [
19925             bless( {
19926             'error' => undef,
19927             'number' => 0,
19928             'strcount' => 1,
19929             'patcount' => 0,
19930             'items' => [
19931             bless( {
19932             'pattern' => '',
19933             'lookahead' => 0,
19934             'line' => 42,
19935             'description' => '\'\'',
19936             'hashname' => '__STRING1__'
19937             }, 'Parse::RecDescent::Literal' ),
19938             bless( {
19939             'hashname' => '__DIRECTIVE1__',
19940             'name' => '',
19941             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
19942             'line' => 42,
19943             'lookahead' => 0
19944             }, 'Parse::RecDescent::Directive' ),
19945             bless( {
19946             'implicit' => undef,
19947             'argcode' => undef,
19948             'matchrule' => 0,
19949             'subrule' => 'metaroot',
19950             'lookahead' => 0,
19951             'line' => 42
19952             }, 'Parse::RecDescent::Subrule' ),
19953             bless( {
19954             'argcode' => undef,
19955             'implicit' => undef,
19956             'lookahead' => 0,
19957             'matchrule' => 0,
19958             'subrule' => 'relpath',
19959             'line' => 42
19960             }, 'Parse::RecDescent::Subrule' ),
19961             bless( {
19962             'lookahead' => 0,
19963             'line' => 43,
19964             'code' => '{
19965             new Config::Maker::Path::Meta(-tail => $item[-1]);
19966             }',
19967             'hashname' => '__ACTION1__'
19968             }, 'Parse::RecDescent::Action' )
19969             ],
19970             'uncommit' => undef,
19971             'actcount' => 1,
19972             'dircount' => 1,
19973             'line' => undef
19974             }, 'Parse::RecDescent::Production' ),
19975             bless( {
19976             'actcount' => 1,
19977             'dircount' => 1,
19978             'uncommit' => undef,
19979             'line' => 46,
19980             'error' => undef,
19981             'patcount' => 0,
19982             'strcount' => 1,
19983             'number' => 1,
19984             'items' => [
19985             bless( {
19986             'hashname' => '__STRING1__',
19987             'description' => '\'\'',
19988             'line' => 46,
19989             'lookahead' => 0,
19990             'pattern' => ''
19991             }, 'Parse::RecDescent::Literal' ),
19992             bless( {
19993             'lookahead' => 0,
19994             'line' => 46,
19995             'name' => '',
19996             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
19997             'hashname' => '__DIRECTIVE1__'
19998             }, 'Parse::RecDescent::Directive' ),
19999             bless( {
20000             'line' => 46,
20001             'lookahead' => 0,
20002             'matchrule' => 0,
20003             'subrule' => 'metaroot',
20004             'argcode' => undef,
20005             'implicit' => undef
20006             }, 'Parse::RecDescent::Subrule' ),
20007             bless( {
20008             'hashname' => '__ACTION1__',
20009             'code' => '{
20010             new Config::Maker::Path::Meta();
20011             }',
20012             'line' => 47,
20013             'lookahead' => 0
20014             }, 'Parse::RecDescent::Action' )
20015             ]
20016             }, 'Parse::RecDescent::Production' ),
20017             bless( {
20018             'actcount' => 1,
20019             'dircount' => 1,
20020             'uncommit' => undef,
20021             'line' => 50,
20022             'patcount' => 0,
20023             'strcount' => 1,
20024             'number' => 2,
20025             'error' => undef,
20026             'items' => [
20027             bless( {
20028             'line' => 50,
20029             'pattern' => '',
20030             'lookahead' => 0,
20031             'hashname' => '__STRING1__',
20032             'description' => '\'\''
20033             }, 'Parse::RecDescent::Literal' ),
20034             bless( {
20035             'lookahead' => 0,
20036             'line' => 50,
20037             'name' => '',
20038             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
20039             'hashname' => '__DIRECTIVE1__'
20040             }, 'Parse::RecDescent::Directive' ),
20041             bless( {
20042             'lookahead' => 0,
20043             'matchrule' => 0,
20044             'subrule' => 'separator',
20045             'line' => 50,
20046             'argcode' => undef,
20047             'implicit' => undef
20048             }, 'Parse::RecDescent::Subrule' ),
20049             bless( {
20050             'implicit' => undef,
20051             'argcode' => undef,
20052             'line' => 50,
20053             'subrule' => 'relpath',
20054             'matchrule' => 0,
20055             'lookahead' => 0
20056             }, 'Parse::RecDescent::Subrule' ),
20057             bless( {
20058             'lookahead' => 0,
20059             'line' => 51,
20060             'code' => '{
20061             new Config::Maker::Path::Root(-tail => $item[-1]);
20062             }',
20063             'hashname' => '__ACTION1__'
20064             }, 'Parse::RecDescent::Action' )
20065             ]
20066             }, 'Parse::RecDescent::Production' ),
20067             bless( {
20068             'items' => [
20069             bless( {
20070             'description' => '\'\'',
20071             'hashname' => '__STRING1__',
20072             'lookahead' => 0,
20073             'pattern' => '',
20074             'line' => 54
20075             }, 'Parse::RecDescent::Literal' ),
20076             bless( {
20077             'line' => 54,
20078             'lookahead' => 0,
20079             'hashname' => '__DIRECTIVE1__',
20080             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
20081             'name' => ''
20082             }, 'Parse::RecDescent::Directive' ),
20083             bless( {
20084             'matchrule' => 0,
20085             'subrule' => 'separator',
20086             'lookahead' => 0,
20087             'line' => 54,
20088             'implicit' => undef,
20089             'argcode' => undef
20090             }, 'Parse::RecDescent::Subrule' ),
20091             bless( {
20092             'lookahead' => 0,
20093             'line' => 55,
20094             'code' => '{
20095             new Config::Maker::Path::Root();
20096             }',
20097             'hashname' => '__ACTION1__'
20098             }, 'Parse::RecDescent::Action' )
20099             ],
20100             'error' => undef,
20101             'number' => 3,
20102             'patcount' => 0,
20103             'strcount' => 1,
20104             'line' => 54,
20105             'uncommit' => undef,
20106             'actcount' => 1,
20107             'dircount' => 1
20108             }, 'Parse::RecDescent::Production' ),
20109             bless( {
20110             'items' => [
20111             bless( {
20112             'hashname' => '__STRING1__',
20113             'description' => '\'\'',
20114             'line' => 58,
20115             'lookahead' => 0,
20116             'pattern' => ''
20117             }, 'Parse::RecDescent::Literal' ),
20118             bless( {
20119             'code' => 'my $oldskip = $skip; $skip= \'\'; $oldskip',
20120             'name' => '',
20121             'hashname' => '__DIRECTIVE1__',
20122             'lookahead' => 0,
20123             'line' => 58
20124             }, 'Parse::RecDescent::Directive' ),
20125             bless( {
20126             'implicit' => undef,
20127             'argcode' => undef,
20128             'subrule' => 'relpath',
20129             'matchrule' => 0,
20130             'lookahead' => 0,
20131             'line' => 58
20132             }, 'Parse::RecDescent::Subrule' )
20133             ],
20134             'error' => undef,
20135             'patcount' => 0,
20136             'strcount' => 1,
20137             'number' => 4,
20138             'line' => 58,
20139             'actcount' => 0,
20140             'dircount' => 1,
20141             'uncommit' => undef
20142             }, 'Parse::RecDescent::Production' )
20143             ],
20144             'opcount' => 0,
20145             'line' => 42,
20146             'impcount' => 0,
20147             'changed' => 0,
20148             'name' => 'path'
20149             }, 'Parse::RecDescent::Rule' ),
20150             'value_perlcode' => bless( {
20151             'prods' => [
20152             bless( {
20153             'error' => undef,
20154             'number' => 0,
20155             'strcount' => 0,
20156             'patcount' => 0,
20157             'items' => [
20158             bless( {
20159             'line' => 387,
20160             'subrule' => 'perl_codeblock',
20161             'matchrule' => 0,
20162             'lookahead' => 0,
20163             'implicit' => undef,
20164             'argcode' => '[@arg]'
20165             }, 'Parse::RecDescent::Subrule' )
20166             ],
20167             'uncommit' => undef,
20168             'actcount' => 0,
20169             'dircount' => 0,
20170             'line' => undef
20171             }, 'Parse::RecDescent::Production' ),
20172             bless( {
20173             'items' => [
20174             bless( {
20175             'lookahead' => 0,
20176             'commitonly' => '',
20177             'line' => 388,
20178             'msg' => '',
20179             'hashname' => '__DIRECTIVE1__'
20180             }, 'Parse::RecDescent::Error' )
20181             ],
20182             'error' => 1,
20183             'number' => 1,
20184             'patcount' => 0,
20185             'strcount' => 0,
20186             'line' => 388,
20187             'uncommit' => 0,
20188             'dircount' => 1,
20189             'actcount' => 0
20190             }, 'Parse::RecDescent::Production' )
20191             ],
20192             'calls' => [
20193             'perl_codeblock'
20194             ],
20195             'vars' => '',
20196             'opcount' => 0,
20197             'line' => 386,
20198             'changed' => 0,
20199             'name' => 'value_perlcode',
20200             'impcount' => 0
20201             }, 'Parse::RecDescent::Rule' ),
20202             'value_nestlist_elem' => bless( {
20203             'vars' => '',
20204             'calls' => [
20205             'value_nestlist_elem'
20206             ],
20207             'prods' => [
20208             bless( {
20209             'actcount' => 1,
20210             'dircount' => 0,
20211             'uncommit' => undef,
20212             'line' => undef,
20213             'patcount' => 0,
20214             'strcount' => 2,
20215             'number' => 0,
20216             'error' => undef,
20217             'items' => [
20218             bless( {
20219             'hashname' => '__STRING1__',
20220             'description' => '\'[\'',
20221             'line' => 373,
20222             'lookahead' => 0,
20223             'pattern' => '['
20224             }, 'Parse::RecDescent::Literal' ),
20225             bless( {
20226             'matchrule' => 0,
20227             'subrule' => 'value_nestlist_elem',
20228             'lookahead' => 0,
20229             'min' => 0,
20230             'line' => 373,
20231             'expected' => undef,
20232             'max' => 100000000,
20233             'repspec' => 's?',
20234             'argcode' => '[@arg]'
20235             }, 'Parse::RecDescent::Repetition' ),
20236             bless( {
20237             'hashname' => '__STRING2__',
20238             'description' => '\']\'',
20239             'lookahead' => 0,
20240             'pattern' => ']',
20241             'line' => 373
20242             }, 'Parse::RecDescent::Literal' ),
20243             bless( {
20244             'code' => '{ new Config::Maker::Value::List($item[2]); }',
20245             'hashname' => '__ACTION1__',
20246             'lookahead' => 0,
20247             'line' => 374
20248             }, 'Parse::RecDescent::Action' )
20249             ]
20250             }, 'Parse::RecDescent::Production' ),
20251             bless( {
20252             'number' => 1,
20253             'patcount' => 0,
20254             'strcount' => 0,
20255             'error' => undef,
20256             'items' => [
20257             bless( {
20258             'matchrule' => 1,
20259             'subrule' => 'value_$arg[0]',
20260             'lookahead' => 0,
20261             'line' => 376,
20262             'implicit' => undef,
20263             'argcode' => '[@arg[1..$#arg]]'
20264             }, 'Parse::RecDescent::Subrule' )
20265             ],
20266             'uncommit' => undef,
20267             'actcount' => 0,
20268             'dircount' => 0,
20269             'line' => 375
20270             }, 'Parse::RecDescent::Production' ),
20271             bless( {
20272             'line' => 377,
20273             'uncommit' => 0,
20274             'actcount' => 0,
20275             'dircount' => 1,
20276             'items' => [
20277             bless( {
20278             'commitonly' => '',
20279             'lookahead' => 0,
20280             'line' => 377,
20281             'hashname' => '__DIRECTIVE1__',
20282             'msg' => ''
20283             }, 'Parse::RecDescent::Error' )
20284             ],
20285             'number' => 2,
20286             'strcount' => 0,
20287             'patcount' => 0,
20288             'error' => 1
20289             }, 'Parse::RecDescent::Production' )
20290             ],
20291             'opcount' => 0,
20292             'line' => 372,
20293             'impcount' => 0,
20294             'changed' => 0,
20295             'name' => 'value_nestlist_elem'
20296             }, 'Parse::RecDescent::Rule' ),
20297             'value_identifier' => bless( {
20298             'vars' => '',
20299             'prods' => [
20300             bless( {
20301             'items' => [
20302             bless( {
20303             'lookahead' => 0,
20304             'matchrule' => 0,
20305             'subrule' => 'identifier',
20306             'line' => 395,
20307             'argcode' => undef,
20308             'implicit' => undef
20309             }, 'Parse::RecDescent::Subrule' )
20310             ],
20311             'patcount' => 0,
20312             'strcount' => 0,
20313             'number' => 0,
20314             'error' => undef,
20315             'line' => undef,
20316             'dircount' => 0,
20317             'actcount' => 0,
20318             'uncommit' => undef
20319             }, 'Parse::RecDescent::Production' ),
20320             bless( {
20321             'uncommit' => 0,
20322             'actcount' => 0,
20323             'dircount' => 1,
20324             'line' => 396,
20325             'error' => 1,
20326             'number' => 1,
20327             'patcount' => 0,
20328             'strcount' => 0,
20329             'items' => [
20330             bless( {
20331             'line' => 396,
20332             'commitonly' => '',
20333             'lookahead' => 0,
20334             'hashname' => '__DIRECTIVE1__',
20335             'msg' => ''
20336             }, 'Parse::RecDescent::Error' )
20337             ]
20338             }, 'Parse::RecDescent::Production' )
20339             ],
20340             'calls' => [
20341             'identifier'
20342             ],
20343             'opcount' => 0,
20344             'line' => 395,
20345             'impcount' => 0,
20346             'changed' => 0,
20347             'name' => 'value_identifier'
20348             }, 'Parse::RecDescent::Rule' )
20349             }
20350             }, 'Parse::RecDescent' );
20351             }