File Coverage

blib/lib/PDF/FDF/Simple/Grammar.pm
Criterion Covered Total %
statement 3565 6233 57.2
branch 1263 4020 31.4
condition 406 1394 29.1
subroutine 173 216 80.0
pod 0 1 0.0
total 5407 11864 45.5


line stmt bran cond sub pod time code
1             package PDF::FDF::Simple::Grammar;
2 15     15   213 use Parse::RecDescent;
  15         37  
  15         209  
3              
4             { my $ERRORS;
5              
6              
7             package Parse::RecDescent::PDF::FDF::Simple::Grammar;
8 15     15   1532 use strict;
  15         36  
  15         751  
9 15     15   85 use vars qw($skip $AUTOLOAD );
  15         30  
  15         1198  
10             $skip = '\s*';
11              
12 15     15   26137 use Compress::Zlib;
  15         1269977  
  15         8882  
13              
14             # Local variable init - RJH
15             my $strname;
16             my $strcontent;
17             my $fh = new IO::File;
18              
19             # RJH Can't include standard Perl in the parser so define a function
20             # here so it's included in its namespace
21             sub write_file
22             {
23 0     0   0 my($file,$content) = @_;
24              
25 0 0       0 my $x = inflateInit()
26             or die "Cannot create a inflation stream\n";
27 0 0       0 $fh->open(">$file") or die "Failed to create file $file - $!";
28              
29 0         0 my $buffer = $$content;
30 0         0 my $sync = $x->inflateSync($buffer);
31 0         0 print "SYNC: $sync\n";
32              
33 0         0 my($output, $status) = $x->inflate($buffer);
34 0         0 print "STATUS:$status\n";
35 0         0 print $fh $output;
36 0         0 $fh->close();
37             };
38             ;
39              
40              
41             {
42             local $SIG{__WARN__} = sub {0};
43             # PRETEND TO BE IN Parse::RecDescent NAMESPACE
44             *Parse::RecDescent::PDF::FDF::Simple::Grammar::AUTOLOAD = sub
45             {
46 15     15   151 no strict 'refs';
  15         32  
  15         2036  
47 0     0   0 $AUTOLOAD =~ s/^Parse::RecDescent::PDF::FDF::Simple::Grammar/Parse::RecDescent/;
48 0         0 goto &{$AUTOLOAD};
  0         0  
49             }
50             }
51              
52             push @Parse::RecDescent::PDF::FDF::Simple::Grammar::ISA, 'Parse::RecDescent';
53             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
54             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::stemparams
55             {
56 0     0   0 my $thisparser = $_[0];
57 15     15   86 use vars q{$tracelevel};
  15         40  
  15         6782  
58 0   0     0 local $tracelevel = ($tracelevel||0)+1;
59 0         0 $ERRORS = 0;
60 0         0 my $thisrule = $thisparser->{"rules"}{"stemparams"};
61            
62 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [stemparams]},
63             Parse::RecDescent::_tracefirst($_[1]),
64             q{stemparams},
65             $tracelevel)
66             if defined $::RD_TRACE;
67              
68 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
69 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
70              
71 0         0 my $score;
72             my $score_return;
73 0         0 my $_tok;
74 0         0 my $return = undef;
75 0         0 my $_matched=0;
76 0         0 my $commit=0;
77 0         0 my @item = ();
78 0         0 my %item = ();
79 0   0     0 my $repeating = defined($_[2]) && $_[2];
80 0   0     0 my $_noactions = defined($_[3]) && $_[3];
81 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
82 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
83 0         0 my $text;
84 0         0 my $lastsep="";
85 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
86 0         0 $expectation->at($_[1]);
87            
88 0         0 my $thisline;
89 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
90              
91            
92              
93 0   0     0 while (!$_matched && !$commit)
94             {
95            
96 0 0       0 Parse::RecDescent::_trace(q{Trying production: [stemparam stemparams]},
97             Parse::RecDescent::_tracefirst($_[1]),
98             q{stemparams},
99             $tracelevel)
100             if defined $::RD_TRACE;
101 0         0 my $thisprod = $thisrule->{"prods"}[0];
102 0         0 $text = $_[1];
103 0         0 my $_savetext;
104 0         0 @item = (q{stemparams});
105 0         0 %item = (__RULE__ => q{stemparams});
106 0         0 my $repcount = 0;
107              
108              
109 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [stemparam]},
110             Parse::RecDescent::_tracefirst($text),
111             q{stemparams},
112             $tracelevel)
113             if defined $::RD_TRACE;
114 15     15   92 if (1) { no strict qw{refs};
  15         30  
  15         3186  
  0         0  
115 0         0 $expectation->is(q{})->at($text);
116 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::stemparam($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
117             {
118            
119 0 0       0 Parse::RecDescent::_trace(q{<>},
120             Parse::RecDescent::_tracefirst($text),
121             q{stemparams},
122             $tracelevel)
123             if defined $::RD_TRACE;
124 0         0 $expectation->failed();
125 0         0 last;
126             }
127 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [stemparam]<< (return value: [}
128             . $_tok . q{]},
129            
130             Parse::RecDescent::_tracefirst($text),
131             q{stemparams},
132             $tracelevel)
133             if defined $::RD_TRACE;
134 0         0 $item{q{stemparam}} = $_tok;
135 0         0 push @item, $_tok;
136            
137             }
138              
139 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [stemparams]},
140             Parse::RecDescent::_tracefirst($text),
141             q{stemparams},
142             $tracelevel)
143             if defined $::RD_TRACE;
144 15     15   78 if (1) { no strict qw{refs};
  15         33  
  15         11295  
  0         0  
145 0         0 $expectation->is(q{stemparams})->at($text);
146 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::stemparams($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
147             {
148            
149 0 0       0 Parse::RecDescent::_trace(q{<>},
150             Parse::RecDescent::_tracefirst($text),
151             q{stemparams},
152             $tracelevel)
153             if defined $::RD_TRACE;
154 0         0 $expectation->failed();
155 0         0 last;
156             }
157 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [stemparams]<< (return value: [}
158             . $_tok . q{]},
159            
160             Parse::RecDescent::_tracefirst($text),
161             q{stemparams},
162             $tracelevel)
163             if defined $::RD_TRACE;
164 0         0 $item{q{stemparams}} = $_tok;
165 0         0 push @item, $_tok;
166            
167             }
168              
169              
170 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [stemparam stemparams]<<},
171             Parse::RecDescent::_tracefirst($text),
172             q{stemparams},
173             $tracelevel)
174             if defined $::RD_TRACE;
175 0         0 $_matched = 1;
176 0         0 last;
177             }
178              
179             splice
180 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
181            
182 0   0     0 while (!$_matched && !$commit)
183             {
184            
185 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
186             Parse::RecDescent::_tracefirst($_[1]),
187             q{stemparams},
188             $tracelevel)
189             if defined $::RD_TRACE;
190 0         0 my $thisprod = $thisrule->{"prods"}[1];
191 0         0 $text = $_[1];
192 0         0 my $_savetext;
193 0         0 @item = (q{stemparams});
194 0         0 %item = (__RULE__ => q{stemparams});
195 0         0 my $repcount = 0;
196              
197              
198              
199 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
200             Parse::RecDescent::_tracefirst($text),
201             q{stemparams},
202             $tracelevel)
203             if defined $::RD_TRACE;
204 0         0 $_matched = 1;
205 0         0 last;
206             }
207              
208             splice
209 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
210            
211 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
212             {
213 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
214            
215              
216 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
217 0 0       0 Parse::RecDescent::_trace(q{<>},
218             Parse::RecDescent::_tracefirst($_[1]),
219             q{stemparams},
220             $tracelevel)
221             if defined $::RD_TRACE;
222 0         0 return undef;
223             }
224 0 0 0     0 if (!defined($return) && defined($score))
225             {
226 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
227             q{stemparams},
228             $tracelevel)
229             if defined $::RD_TRACE;
230 0         0 $return = $score_return;
231             }
232 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
233 0 0       0 $return = $item[$#item] unless defined $return;
234 0 0       0 if (defined $::RD_TRACE)
235             {
236 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
237             $return . q{])}, "",
238             q{stemparams},
239             $tracelevel);
240 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
241             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
242             Parse::RecDescent::_tracefirst($text),
243             , q{stemparams},
244             $tracelevel)
245             }
246 0         0 $_[1] = $text;
247 0         0 return $return;
248             }
249              
250             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
251             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::objbody
252             {
253 21     21   63 my $thisparser = $_[0];
254 15     15   109 use vars q{$tracelevel};
  15         43  
  15         15383  
255 21   50     109 local $tracelevel = ($tracelevel||0)+1;
256 21         65 $ERRORS = 0;
257 21         74 my $thisrule = $thisparser->{"rules"}{"objbody"};
258            
259 21 50       89 Parse::RecDescent::_trace(q{Trying rule: [objbody]},
260             Parse::RecDescent::_tracefirst($_[1]),
261             q{objbody},
262             $tracelevel)
263             if defined $::RD_TRACE;
264              
265 21         37 my $def_at = @{$thisparser->{deferred}};
  21         73  
266 21         37 my $err_at = @{$thisparser->{errors}};
  21         54  
267              
268 21         45 my $score;
269             my $score_return;
270 0         0 my $_tok;
271 21         44 my $return = undef;
272 21         35 my $_matched=0;
273 21         36 my $commit=0;
274 21         55 my @item = ();
275 21         48 my %item = ();
276 21   33     113 my $repeating = defined($_[2]) && $_[2];
277 21   33     105 my $_noactions = defined($_[3]) && $_[3];
278 21 50       77 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  21         33  
  21         62  
279 21 50       127 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
280 21         39 my $text;
281 21         50 my $lastsep="";
282 21         92 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
283 21         2127 $expectation->at($_[1]);
284            
285 21         90 my $thisline;
286 21         131 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
287              
288            
289              
290 21   33     380 while (!$_matched && !$commit)
291             {
292            
293 21 50       80 Parse::RecDescent::_trace(q{Trying production: ['<<' '/FDF' '<<' attributes '/Fields' '[' fieldlist ']' attributes '>>' type '>>']},
294             Parse::RecDescent::_tracefirst($_[1]),
295             q{objbody},
296             $tracelevel)
297             if defined $::RD_TRACE;
298 21         65 my $thisprod = $thisrule->{"prods"}[0];
299 21         45 $text = $_[1];
300 21         39 my $_savetext;
301 21         86 @item = (q{objbody});
302 21         64 %item = (__RULE__ => q{objbody});
303 21         36 my $repcount = 0;
304              
305              
306 21 50       82 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
307             Parse::RecDescent::_tracefirst($text),
308             q{objbody},
309             $tracelevel)
310             if defined $::RD_TRACE;
311 21         52 $lastsep = "";
312 21         83 $expectation->is(q{})->at($text);
313            
314              
315 21 100 66     396 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  21 100       523  
316             {
317            
318 4         28 $expectation->failed();
319 4 50       61 Parse::RecDescent::_trace(qq{<>},
320             Parse::RecDescent::_tracefirst($text))
321             if defined $::RD_TRACE;
322 4         11 last;
323             }
324 17 50       85 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
325             . $& . q{])},
326             Parse::RecDescent::_tracefirst($text))
327             if defined $::RD_TRACE;
328 17         67 push @item, $item{__STRING1__}=$&;
329            
330              
331 17 50       66 Parse::RecDescent::_trace(q{Trying terminal: ['/FDF']},
332             Parse::RecDescent::_tracefirst($text),
333             q{objbody},
334             $tracelevel)
335             if defined $::RD_TRACE;
336 17         41 $lastsep = "";
337 17         79 $expectation->is(q{'/FDF'})->at($text);
338            
339              
340 17 100 33     324 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/FDF//)
  17 50       398  
341             {
342            
343 0         0 $expectation->failed();
344 0 0       0 Parse::RecDescent::_trace(qq{<>},
345             Parse::RecDescent::_tracefirst($text))
346             if defined $::RD_TRACE;
347 0         0 last;
348             }
349 17 50       77 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
350             . $& . q{])},
351             Parse::RecDescent::_tracefirst($text))
352             if defined $::RD_TRACE;
353 17         64 push @item, $item{__STRING2__}=$&;
354            
355              
356 17 50       67 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
357             Parse::RecDescent::_tracefirst($text),
358             q{objbody},
359             $tracelevel)
360             if defined $::RD_TRACE;
361 17         40 $lastsep = "";
362 17         66 $expectation->is(q{'<<'})->at($text);
363            
364              
365 17 100 33     327 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  17 50       418  
366             {
367            
368 0         0 $expectation->failed();
369 0 0       0 Parse::RecDescent::_trace(qq{<>},
370             Parse::RecDescent::_tracefirst($text))
371             if defined $::RD_TRACE;
372 0         0 last;
373             }
374 17 50       88 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
375             . $& . q{])},
376             Parse::RecDescent::_tracefirst($text))
377             if defined $::RD_TRACE;
378 17         66 push @item, $item{__STRING3__}=$&;
379            
380              
381 17 50       73 Parse::RecDescent::_trace(q{Trying subrule: [attributes]},
382             Parse::RecDescent::_tracefirst($text),
383             q{objbody},
384             $tracelevel)
385             if defined $::RD_TRACE;
386 15     15   105 if (1) { no strict qw{refs};
  15         28  
  15         9370  
  17         28  
387 17         73 $expectation->is(q{attributes})->at($text);
388 17 50   17   282 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::attributes($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  17         46  
389             {
390            
391 0 0       0 Parse::RecDescent::_trace(q{<>},
392             Parse::RecDescent::_tracefirst($text),
393             q{objbody},
394             $tracelevel)
395             if defined $::RD_TRACE;
396 0         0 $expectation->failed();
397 0         0 last;
398             }
399 17 50       105 Parse::RecDescent::_trace(q{>>Matched subrule: [attributes]<< (return value: [}
400             . $_tok . q{]},
401            
402             Parse::RecDescent::_tracefirst($text),
403             q{objbody},
404             $tracelevel)
405             if defined $::RD_TRACE;
406 17         45 $item{q{attributes}} = $_tok;
407 17         43 push @item, $_tok;
408            
409             }
410              
411 17 50       58 Parse::RecDescent::_trace(q{Trying terminal: ['/Fields']},
412             Parse::RecDescent::_tracefirst($text),
413             q{objbody},
414             $tracelevel)
415             if defined $::RD_TRACE;
416 17         45 $lastsep = "";
417 17         74 $expectation->is(q{'/Fields'})->at($text);
418            
419              
420 17 100 33     818 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/Fields//)
  17 50       671  
421             {
422            
423 0         0 $expectation->failed();
424 0 0       0 Parse::RecDescent::_trace(qq{<>},
425             Parse::RecDescent::_tracefirst($text))
426             if defined $::RD_TRACE;
427 0         0 last;
428             }
429 17 50       122 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
430             . $& . q{])},
431             Parse::RecDescent::_tracefirst($text))
432             if defined $::RD_TRACE;
433 17         77 push @item, $item{__STRING4__}=$&;
434            
435              
436 17 50       94 Parse::RecDescent::_trace(q{Trying terminal: ['[']},
437             Parse::RecDescent::_tracefirst($text),
438             q{objbody},
439             $tracelevel)
440             if defined $::RD_TRACE;
441 17         38 $lastsep = "";
442 17         69 $expectation->is(q{'['})->at($text);
443            
444              
445 17 100 66     382 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\[//)
  17 100       393  
446             {
447            
448 4         19 $expectation->failed();
449 4 50       52 Parse::RecDescent::_trace(qq{<>},
450             Parse::RecDescent::_tracefirst($text))
451             if defined $::RD_TRACE;
452 4         17 last;
453             }
454 13 50       63 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
455             . $& . q{])},
456             Parse::RecDescent::_tracefirst($text))
457             if defined $::RD_TRACE;
458 13         58 push @item, $item{__STRING5__}=$&;
459            
460              
461 13 50       55 Parse::RecDescent::_trace(q{Trying subrule: [fieldlist]},
462             Parse::RecDescent::_tracefirst($text),
463             q{objbody},
464             $tracelevel)
465             if defined $::RD_TRACE;
466 15     15   471 if (1) { no strict qw{refs};
  15         28  
  15         6348  
  13         27  
467 13         61 $expectation->is(q{fieldlist})->at($text);
468 13 50   13   195 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldlist($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  13         41  
469             {
470            
471 0 0       0 Parse::RecDescent::_trace(q{<>},
472             Parse::RecDescent::_tracefirst($text),
473             q{objbody},
474             $tracelevel)
475             if defined $::RD_TRACE;
476 0         0 $expectation->failed();
477 0         0 last;
478             }
479 13 50       97 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldlist]<< (return value: [}
480             . $_tok . q{]},
481            
482             Parse::RecDescent::_tracefirst($text),
483             q{objbody},
484             $tracelevel)
485             if defined $::RD_TRACE;
486 13         64 $item{q{fieldlist}} = $_tok;
487 13         36 push @item, $_tok;
488            
489             }
490              
491 13 50       49 Parse::RecDescent::_trace(q{Trying terminal: [']']},
492             Parse::RecDescent::_tracefirst($text),
493             q{objbody},
494             $tracelevel)
495             if defined $::RD_TRACE;
496 13         35 $lastsep = "";
497 13         71 $expectation->is(q{']'})->at($text);
498            
499              
500 13 100 33     518 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\]//)
  13 50       286  
501             {
502            
503 0         0 $expectation->failed();
504 0 0       0 Parse::RecDescent::_trace(qq{<>},
505             Parse::RecDescent::_tracefirst($text))
506             if defined $::RD_TRACE;
507 0         0 last;
508             }
509 13 50       65 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
510             . $& . q{])},
511             Parse::RecDescent::_tracefirst($text))
512             if defined $::RD_TRACE;
513 13         62 push @item, $item{__STRING6__}=$&;
514            
515              
516 13 50       53 Parse::RecDescent::_trace(q{Trying subrule: [attributes]},
517             Parse::RecDescent::_tracefirst($text),
518             q{objbody},
519             $tracelevel)
520             if defined $::RD_TRACE;
521 15     15   95 if (1) { no strict qw{refs};
  15         27  
  15         19706  
  13         26  
522 13         57 $expectation->is(q{attributes})->at($text);
523 13 50   13   188 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::attributes($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  13         40  
524             {
525            
526 0 0       0 Parse::RecDescent::_trace(q{<>},
527             Parse::RecDescent::_tracefirst($text),
528             q{objbody},
529             $tracelevel)
530             if defined $::RD_TRACE;
531 0         0 $expectation->failed();
532 0         0 last;
533             }
534 13 50       92 Parse::RecDescent::_trace(q{>>Matched subrule: [attributes]<< (return value: [}
535             . $_tok . q{]},
536            
537             Parse::RecDescent::_tracefirst($text),
538             q{objbody},
539             $tracelevel)
540             if defined $::RD_TRACE;
541 13         37 $item{q{attributes}} = $_tok;
542 13         36 push @item, $_tok;
543            
544             }
545              
546 13 50       47 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
547             Parse::RecDescent::_tracefirst($text),
548             q{objbody},
549             $tracelevel)
550             if defined $::RD_TRACE;
551 13         30 $lastsep = "";
552 13         59 $expectation->is(q{'>>'})->at($text);
553            
554              
555 13 100 33     271 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  13 50       229  
556             {
557            
558 0         0 $expectation->failed();
559 0 0       0 Parse::RecDescent::_trace(qq{<>},
560             Parse::RecDescent::_tracefirst($text))
561             if defined $::RD_TRACE;
562 0         0 last;
563             }
564 13 50       64 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
565             . $& . q{])},
566             Parse::RecDescent::_tracefirst($text))
567             if defined $::RD_TRACE;
568 13         63 push @item, $item{__STRING7__}=$&;
569            
570              
571 13 50       49 Parse::RecDescent::_trace(q{Trying repeated subrule: [type]},
572             Parse::RecDescent::_tracefirst($text),
573             q{objbody},
574             $tracelevel)
575             if defined $::RD_TRACE;
576 13         49 $expectation->is(q{type})->at($text);
577            
578 13 50       167 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::PDF::FDF::Simple::Grammar::type, 0, 1, $_noactions,$expectation,undef)))
579             {
580 0 0       0 Parse::RecDescent::_trace(q{<>},
581             Parse::RecDescent::_tracefirst($text),
582             q{objbody},
583             $tracelevel)
584             if defined $::RD_TRACE;
585 0         0 last;
586             }
587 13 50       270 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [type]<< (}
588             . @$_tok . q{ times)},
589            
590             Parse::RecDescent::_tracefirst($text),
591             q{objbody},
592             $tracelevel)
593             if defined $::RD_TRACE;
594 13         44 $item{q{type(?)}} = $_tok;
595 13         35 push @item, $_tok;
596            
597              
598              
599 13 50       70 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
600             Parse::RecDescent::_tracefirst($text),
601             q{objbody},
602             $tracelevel)
603             if defined $::RD_TRACE;
604 13         36 $lastsep = "";
605 13         52 $expectation->is(q{'>>'})->at($text);
606            
607              
608 13 100 33     277 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  13 50       266  
609             {
610            
611 0         0 $expectation->failed();
612 0 0       0 Parse::RecDescent::_trace(qq{<>},
613             Parse::RecDescent::_tracefirst($text))
614             if defined $::RD_TRACE;
615 0         0 last;
616             }
617 13 50       68 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
618             . $& . q{])},
619             Parse::RecDescent::_tracefirst($text))
620             if defined $::RD_TRACE;
621 13         61 push @item, $item{__STRING8__}=$&;
622            
623              
624 13 50       67 Parse::RecDescent::_trace(q{Trying action},
625             Parse::RecDescent::_tracefirst($text),
626             q{objbody},
627             $tracelevel)
628             if defined $::RD_TRACE;
629            
630              
631 13 50       60 $_tok = ($_noactions) ? 0 : do {
632 13         42 $return = $item{fieldlist};
633             };
634 13 50       49 unless (defined $_tok)
635             {
636 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
637             if defined $::RD_TRACE;
638 0         0 last;
639             }
640 13 50       69 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
641             . $_tok . q{])},
642             Parse::RecDescent::_tracefirst($text))
643             if defined $::RD_TRACE;
644 13         28 push @item, $_tok;
645 13         37 $item{__ACTION1__}=$_tok;
646            
647              
648              
649 13 50       44 Parse::RecDescent::_trace(q{>>Matched production: ['<<' '/FDF' '<<' attributes '/Fields' '[' fieldlist ']' attributes '>>' type '>>']<<},
650             Parse::RecDescent::_tracefirst($text),
651             q{objbody},
652             $tracelevel)
653             if defined $::RD_TRACE;
654 13         26 $_matched = 1;
655 13         87 last;
656             }
657              
658             splice
659 21 100       95 @{$thisparser->{deferred}}, $def_at unless $_matched;
  8         23  
660            
661 21   66     108 while (!$_matched && !$commit)
662             {
663            
664 8 50       24 Parse::RecDescent::_trace(q{Trying production: ['[' fieldlist ']']},
665             Parse::RecDescent::_tracefirst($_[1]),
666             q{objbody},
667             $tracelevel)
668             if defined $::RD_TRACE;
669 8         25 my $thisprod = $thisrule->{"prods"}[1];
670 8         22 $text = $_[1];
671 8         13 my $_savetext;
672 8         25 @item = (q{objbody});
673 8         30 %item = (__RULE__ => q{objbody});
674 8         16 my $repcount = 0;
675              
676              
677 8 50       27 Parse::RecDescent::_trace(q{Trying terminal: ['[']},
678             Parse::RecDescent::_tracefirst($text),
679             q{objbody},
680             $tracelevel)
681             if defined $::RD_TRACE;
682 8         16 $lastsep = "";
683 8         30 $expectation->is(q{})->at($text);
684            
685              
686 8 50 66     151 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\[//)
  8 100       197  
687             {
688            
689 4         16 $expectation->failed();
690 4 50       23 Parse::RecDescent::_trace(qq{<>},
691             Parse::RecDescent::_tracefirst($text))
692             if defined $::RD_TRACE;
693 4         12 last;
694             }
695 4 50       19 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
696             . $& . q{])},
697             Parse::RecDescent::_tracefirst($text))
698             if defined $::RD_TRACE;
699 4         26 push @item, $item{__STRING1__}=$&;
700            
701              
702 4 50       19 Parse::RecDescent::_trace(q{Trying subrule: [fieldlist]},
703             Parse::RecDescent::_tracefirst($text),
704             q{objbody},
705             $tracelevel)
706             if defined $::RD_TRACE;
707 15     15   106 if (1) { no strict qw{refs};
  15         28  
  15         22875  
  4         9  
708 4         20 $expectation->is(q{fieldlist})->at($text);
709 4 50   4   67 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldlist($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  4         11  
710             {
711            
712 0 0       0 Parse::RecDescent::_trace(q{<>},
713             Parse::RecDescent::_tracefirst($text),
714             q{objbody},
715             $tracelevel)
716             if defined $::RD_TRACE;
717 0         0 $expectation->failed();
718 0         0 last;
719             }
720 4 50       32 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldlist]<< (return value: [}
721             . $_tok . q{]},
722            
723             Parse::RecDescent::_tracefirst($text),
724             q{objbody},
725             $tracelevel)
726             if defined $::RD_TRACE;
727 4         16 $item{q{fieldlist}} = $_tok;
728 4         13 push @item, $_tok;
729            
730             }
731              
732 4 50       17 Parse::RecDescent::_trace(q{Trying terminal: [']']},
733             Parse::RecDescent::_tracefirst($text),
734             q{objbody},
735             $tracelevel)
736             if defined $::RD_TRACE;
737 4         11 $lastsep = "";
738 4         24 $expectation->is(q{']'})->at($text);
739            
740              
741 4 50 33     112 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\]//)
  4 50       80  
742             {
743            
744 0         0 $expectation->failed();
745 0 0       0 Parse::RecDescent::_trace(qq{<>},
746             Parse::RecDescent::_tracefirst($text))
747             if defined $::RD_TRACE;
748 0         0 last;
749             }
750 4 50       22 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
751             . $& . q{])},
752             Parse::RecDescent::_tracefirst($text))
753             if defined $::RD_TRACE;
754 4         20 push @item, $item{__STRING2__}=$&;
755            
756              
757 4 50       20 Parse::RecDescent::_trace(q{Trying action},
758             Parse::RecDescent::_tracefirst($text),
759             q{objbody},
760             $tracelevel)
761             if defined $::RD_TRACE;
762            
763              
764 4 50       18 $_tok = ($_noactions) ? 0 : do {
765 4         16 $return = $item{fieldlist};
766             };
767 4 50       18 unless (defined $_tok)
768             {
769 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
770             if defined $::RD_TRACE;
771 0         0 last;
772             }
773 4 50       15 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
774             . $_tok . q{])},
775             Parse::RecDescent::_tracefirst($text))
776             if defined $::RD_TRACE;
777 4         10 push @item, $_tok;
778 4         11 $item{__ACTION1__}=$_tok;
779            
780              
781              
782 4 50       15 Parse::RecDescent::_trace(q{>>Matched production: ['[' fieldlist ']']<<},
783             Parse::RecDescent::_tracefirst($text),
784             q{objbody},
785             $tracelevel)
786             if defined $::RD_TRACE;
787 4         10 $_matched = 1;
788 4         15 last;
789             }
790              
791             splice
792 21 100       75 @{$thisparser->{deferred}}, $def_at unless $_matched;
  4         12  
793            
794 21   66     85 while (!$_matched && !$commit)
795             {
796            
797 4 50       14 Parse::RecDescent::_trace(q{Trying production: ['<<' '/FDF' '<<' attributes '/Fields' objreference attributes '>>' '>>']},
798             Parse::RecDescent::_tracefirst($_[1]),
799             q{objbody},
800             $tracelevel)
801             if defined $::RD_TRACE;
802 4         12 my $thisprod = $thisrule->{"prods"}[2];
803 4         9 $text = $_[1];
804 4         9 my $_savetext;
805 4         8 @item = (q{objbody});
806 4         13 %item = (__RULE__ => q{objbody});
807 4         5 my $repcount = 0;
808              
809              
810 4 50       17 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
811             Parse::RecDescent::_tracefirst($text),
812             q{objbody},
813             $tracelevel)
814             if defined $::RD_TRACE;
815 4         6 $lastsep = "";
816 4         15 $expectation->is(q{})->at($text);
817            
818              
819 4 50 33     74 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  4 50       76  
820             {
821            
822 0         0 $expectation->failed();
823 0 0       0 Parse::RecDescent::_trace(qq{<>},
824             Parse::RecDescent::_tracefirst($text))
825             if defined $::RD_TRACE;
826 0         0 last;
827             }
828 4 50       20 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
829             . $& . q{])},
830             Parse::RecDescent::_tracefirst($text))
831             if defined $::RD_TRACE;
832 4         14 push @item, $item{__STRING1__}=$&;
833            
834              
835 4 50       13 Parse::RecDescent::_trace(q{Trying terminal: ['/FDF']},
836             Parse::RecDescent::_tracefirst($text),
837             q{objbody},
838             $tracelevel)
839             if defined $::RD_TRACE;
840 4         11 $lastsep = "";
841 4         16 $expectation->is(q{'/FDF'})->at($text);
842            
843              
844 4 50 33     57 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/FDF//)
  4 50       66  
845             {
846            
847 0         0 $expectation->failed();
848 0 0       0 Parse::RecDescent::_trace(qq{<>},
849             Parse::RecDescent::_tracefirst($text))
850             if defined $::RD_TRACE;
851 0         0 last;
852             }
853 4 50       18 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
854             . $& . q{])},
855             Parse::RecDescent::_tracefirst($text))
856             if defined $::RD_TRACE;
857 4         13 push @item, $item{__STRING2__}=$&;
858            
859              
860 4 50       14 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
861             Parse::RecDescent::_tracefirst($text),
862             q{objbody},
863             $tracelevel)
864             if defined $::RD_TRACE;
865 4         9 $lastsep = "";
866 4         13 $expectation->is(q{'<<'})->at($text);
867            
868              
869 4 50 33     61 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  4 50       89  
870             {
871            
872 0         0 $expectation->failed();
873 0 0       0 Parse::RecDescent::_trace(qq{<>},
874             Parse::RecDescent::_tracefirst($text))
875             if defined $::RD_TRACE;
876 0         0 last;
877             }
878 4 50       18 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
879             . $& . q{])},
880             Parse::RecDescent::_tracefirst($text))
881             if defined $::RD_TRACE;
882 4         14 push @item, $item{__STRING3__}=$&;
883            
884              
885 4 50       13 Parse::RecDescent::_trace(q{Trying subrule: [attributes]},
886             Parse::RecDescent::_tracefirst($text),
887             q{objbody},
888             $tracelevel)
889             if defined $::RD_TRACE;
890 15     15   329 if (1) { no strict qw{refs};
  15         29  
  15         7754  
  4         6  
891 4         30 $expectation->is(q{attributes})->at($text);
892 4 50   4   46 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::attributes($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  4         12  
893             {
894            
895 0 0       0 Parse::RecDescent::_trace(q{<>},
896             Parse::RecDescent::_tracefirst($text),
897             q{objbody},
898             $tracelevel)
899             if defined $::RD_TRACE;
900 0         0 $expectation->failed();
901 0         0 last;
902             }
903 4 50       23 Parse::RecDescent::_trace(q{>>Matched subrule: [attributes]<< (return value: [}
904             . $_tok . q{]},
905            
906             Parse::RecDescent::_tracefirst($text),
907             q{objbody},
908             $tracelevel)
909             if defined $::RD_TRACE;
910 4         12 $item{q{attributes}} = $_tok;
911 4         9 push @item, $_tok;
912            
913             }
914              
915 4 50       17 Parse::RecDescent::_trace(q{Trying terminal: ['/Fields']},
916             Parse::RecDescent::_tracefirst($text),
917             q{objbody},
918             $tracelevel)
919             if defined $::RD_TRACE;
920 4         10 $lastsep = "";
921 4         17 $expectation->is(q{'/Fields'})->at($text);
922            
923              
924 4 50 33     75 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/Fields//)
  4 50       75  
925             {
926            
927 0         0 $expectation->failed();
928 0 0       0 Parse::RecDescent::_trace(qq{<>},
929             Parse::RecDescent::_tracefirst($text))
930             if defined $::RD_TRACE;
931 0         0 last;
932             }
933 4 50       19 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
934             . $& . q{])},
935             Parse::RecDescent::_tracefirst($text))
936             if defined $::RD_TRACE;
937 4         14 push @item, $item{__STRING4__}=$&;
938            
939              
940 4 50       21 Parse::RecDescent::_trace(q{Trying subrule: [objreference]},
941             Parse::RecDescent::_tracefirst($text),
942             q{objbody},
943             $tracelevel)
944             if defined $::RD_TRACE;
945 15     15   117 if (1) { no strict qw{refs};
  15         31  
  15         4323  
  4         16  
946 4         21 $expectation->is(q{objreference})->at($text);
947 4 50   4   54 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::objreference($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  4         13  
948             {
949            
950 0 0       0 Parse::RecDescent::_trace(q{<>},
951             Parse::RecDescent::_tracefirst($text),
952             q{objbody},
953             $tracelevel)
954             if defined $::RD_TRACE;
955 0         0 $expectation->failed();
956 0         0 last;
957             }
958 4 50       26 Parse::RecDescent::_trace(q{>>Matched subrule: [objreference]<< (return value: [}
959             . $_tok . q{]},
960            
961             Parse::RecDescent::_tracefirst($text),
962             q{objbody},
963             $tracelevel)
964             if defined $::RD_TRACE;
965 4         13 $item{q{objreference}} = $_tok;
966 4         10 push @item, $_tok;
967            
968             }
969              
970 4 50       15 Parse::RecDescent::_trace(q{Trying subrule: [attributes]},
971             Parse::RecDescent::_tracefirst($text),
972             q{objbody},
973             $tracelevel)
974             if defined $::RD_TRACE;
975 15     15   91 if (1) { no strict qw{refs};
  15         27  
  15         24570  
  4         8  
976 4         17 $expectation->is(q{attributes})->at($text);
977 4 50   4   50 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::attributes($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  4         12  
978             {
979            
980 0 0       0 Parse::RecDescent::_trace(q{<>},
981             Parse::RecDescent::_tracefirst($text),
982             q{objbody},
983             $tracelevel)
984             if defined $::RD_TRACE;
985 0         0 $expectation->failed();
986 0         0 last;
987             }
988 4 50       27 Parse::RecDescent::_trace(q{>>Matched subrule: [attributes]<< (return value: [}
989             . $_tok . q{]},
990            
991             Parse::RecDescent::_tracefirst($text),
992             q{objbody},
993             $tracelevel)
994             if defined $::RD_TRACE;
995 4         15 $item{q{attributes}} = $_tok;
996 4         11 push @item, $_tok;
997            
998             }
999              
1000 4 50       15 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
1001             Parse::RecDescent::_tracefirst($text),
1002             q{objbody},
1003             $tracelevel)
1004             if defined $::RD_TRACE;
1005 4         10 $lastsep = "";
1006 4         51 $expectation->is(q{'>>'})->at($text);
1007            
1008              
1009 4 50 33     116 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  4 50       66  
1010             {
1011            
1012 0         0 $expectation->failed();
1013 0 0       0 Parse::RecDescent::_trace(qq{<>},
1014             Parse::RecDescent::_tracefirst($text))
1015             if defined $::RD_TRACE;
1016 0         0 last;
1017             }
1018 4 50       23 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1019             . $& . q{])},
1020             Parse::RecDescent::_tracefirst($text))
1021             if defined $::RD_TRACE;
1022 4         19 push @item, $item{__STRING5__}=$&;
1023            
1024              
1025 4 50       14 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
1026             Parse::RecDescent::_tracefirst($text),
1027             q{objbody},
1028             $tracelevel)
1029             if defined $::RD_TRACE;
1030 4         9 $lastsep = "";
1031 4         16 $expectation->is(q{'>>'})->at($text);
1032            
1033              
1034 4 50 33     88 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  4 50       65  
1035             {
1036            
1037 0         0 $expectation->failed();
1038 0 0       0 Parse::RecDescent::_trace(qq{<>},
1039             Parse::RecDescent::_tracefirst($text))
1040             if defined $::RD_TRACE;
1041 0         0 last;
1042             }
1043 4 50       18 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1044             . $& . q{])},
1045             Parse::RecDescent::_tracefirst($text))
1046             if defined $::RD_TRACE;
1047 4         24 push @item, $item{__STRING6__}=$&;
1048            
1049              
1050 4 50       16 Parse::RecDescent::_trace(q{Trying action},
1051             Parse::RecDescent::_tracefirst($text),
1052             q{objbody},
1053             $tracelevel)
1054             if defined $::RD_TRACE;
1055            
1056              
1057 4 50       18 $_tok = ($_noactions) ? 0 : do {
1058 4         10 $return = [];
1059             };
1060 4 50       28 unless (defined $_tok)
1061             {
1062 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
1063             if defined $::RD_TRACE;
1064 0         0 last;
1065             }
1066 4 50       15 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1067             . $_tok . q{])},
1068             Parse::RecDescent::_tracefirst($text))
1069             if defined $::RD_TRACE;
1070 4         9 push @item, $_tok;
1071 4         12 $item{__ACTION1__}=$_tok;
1072            
1073              
1074              
1075 4 50       15 Parse::RecDescent::_trace(q{>>Matched production: ['<<' '/FDF' '<<' attributes '/Fields' objreference attributes '>>' '>>']<<},
1076             Parse::RecDescent::_tracefirst($text),
1077             q{objbody},
1078             $tracelevel)
1079             if defined $::RD_TRACE;
1080 4         8 $_matched = 1;
1081 4         19 last;
1082             }
1083              
1084             splice
1085 21 50       77 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
1086            
1087 21   33     83 while (!$_matched && !$commit)
1088             {
1089            
1090 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['<<' '/F' filename '/EF' '<<' '/F' objreference '>>' '/Type' '/Filespec' '>>']},
1091             Parse::RecDescent::_tracefirst($_[1]),
1092             q{objbody},
1093             $tracelevel)
1094             if defined $::RD_TRACE;
1095 0         0 my $thisprod = $thisrule->{"prods"}[3];
1096 0         0 $text = $_[1];
1097 0         0 my $_savetext;
1098 0         0 @item = (q{objbody});
1099 0         0 %item = (__RULE__ => q{objbody});
1100 0         0 my $repcount = 0;
1101              
1102              
1103 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
1104             Parse::RecDescent::_tracefirst($text),
1105             q{objbody},
1106             $tracelevel)
1107             if defined $::RD_TRACE;
1108 0         0 $lastsep = "";
1109 0         0 $expectation->is(q{})->at($text);
1110            
1111              
1112 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  0 0       0  
1113             {
1114            
1115 0         0 $expectation->failed();
1116 0 0       0 Parse::RecDescent::_trace(qq{<>},
1117             Parse::RecDescent::_tracefirst($text))
1118             if defined $::RD_TRACE;
1119 0         0 last;
1120             }
1121 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1122             . $& . q{])},
1123             Parse::RecDescent::_tracefirst($text))
1124             if defined $::RD_TRACE;
1125 0         0 push @item, $item{__STRING1__}=$&;
1126            
1127              
1128 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/F']},
1129             Parse::RecDescent::_tracefirst($text),
1130             q{objbody},
1131             $tracelevel)
1132             if defined $::RD_TRACE;
1133 0         0 $lastsep = "";
1134 0         0 $expectation->is(q{'/F'})->at($text);
1135            
1136              
1137 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/F//)
  0 0       0  
1138             {
1139            
1140 0         0 $expectation->failed();
1141 0 0       0 Parse::RecDescent::_trace(qq{<>},
1142             Parse::RecDescent::_tracefirst($text))
1143             if defined $::RD_TRACE;
1144 0         0 last;
1145             }
1146 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1147             . $& . q{])},
1148             Parse::RecDescent::_tracefirst($text))
1149             if defined $::RD_TRACE;
1150 0         0 push @item, $item{__STRING2__}=$&;
1151            
1152              
1153 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [filename]},
1154             Parse::RecDescent::_tracefirst($text),
1155             q{objbody},
1156             $tracelevel)
1157             if defined $::RD_TRACE;
1158 15     15   101 if (1) { no strict qw{refs};
  15         29  
  15         16323  
  0         0  
1159 0         0 $expectation->is(q{filename})->at($text);
1160 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::filename($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
1161             {
1162            
1163 0 0       0 Parse::RecDescent::_trace(q{<>},
1164             Parse::RecDescent::_tracefirst($text),
1165             q{objbody},
1166             $tracelevel)
1167             if defined $::RD_TRACE;
1168 0         0 $expectation->failed();
1169 0         0 last;
1170             }
1171 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [filename]<< (return value: [}
1172             . $_tok . q{]},
1173            
1174             Parse::RecDescent::_tracefirst($text),
1175             q{objbody},
1176             $tracelevel)
1177             if defined $::RD_TRACE;
1178 0         0 $item{q{filename}} = $_tok;
1179 0         0 push @item, $_tok;
1180            
1181             }
1182              
1183 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/EF']},
1184             Parse::RecDescent::_tracefirst($text),
1185             q{objbody},
1186             $tracelevel)
1187             if defined $::RD_TRACE;
1188 0         0 $lastsep = "";
1189 0         0 $expectation->is(q{'/EF'})->at($text);
1190            
1191              
1192 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/EF//)
  0 0       0  
1193             {
1194            
1195 0         0 $expectation->failed();
1196 0 0       0 Parse::RecDescent::_trace(qq{<>},
1197             Parse::RecDescent::_tracefirst($text))
1198             if defined $::RD_TRACE;
1199 0         0 last;
1200             }
1201 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1202             . $& . q{])},
1203             Parse::RecDescent::_tracefirst($text))
1204             if defined $::RD_TRACE;
1205 0         0 push @item, $item{__STRING3__}=$&;
1206            
1207              
1208 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
1209             Parse::RecDescent::_tracefirst($text),
1210             q{objbody},
1211             $tracelevel)
1212             if defined $::RD_TRACE;
1213 0         0 $lastsep = "";
1214 0         0 $expectation->is(q{'<<'})->at($text);
1215            
1216              
1217 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  0 0       0  
1218             {
1219            
1220 0         0 $expectation->failed();
1221 0 0       0 Parse::RecDescent::_trace(qq{<>},
1222             Parse::RecDescent::_tracefirst($text))
1223             if defined $::RD_TRACE;
1224 0         0 last;
1225             }
1226 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1227             . $& . q{])},
1228             Parse::RecDescent::_tracefirst($text))
1229             if defined $::RD_TRACE;
1230 0         0 push @item, $item{__STRING4__}=$&;
1231            
1232              
1233 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/F']},
1234             Parse::RecDescent::_tracefirst($text),
1235             q{objbody},
1236             $tracelevel)
1237             if defined $::RD_TRACE;
1238 0         0 $lastsep = "";
1239 0         0 $expectation->is(q{'/F'})->at($text);
1240            
1241              
1242 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/F//)
  0 0       0  
1243             {
1244            
1245 0         0 $expectation->failed();
1246 0 0       0 Parse::RecDescent::_trace(qq{<>},
1247             Parse::RecDescent::_tracefirst($text))
1248             if defined $::RD_TRACE;
1249 0         0 last;
1250             }
1251 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1252             . $& . q{])},
1253             Parse::RecDescent::_tracefirst($text))
1254             if defined $::RD_TRACE;
1255 0         0 push @item, $item{__STRING5__}=$&;
1256            
1257              
1258 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [objreference]},
1259             Parse::RecDescent::_tracefirst($text),
1260             q{objbody},
1261             $tracelevel)
1262             if defined $::RD_TRACE;
1263 15     15   92 if (1) { no strict qw{refs};
  15         29  
  15         67101  
  0         0  
1264 0         0 $expectation->is(q{objreference})->at($text);
1265 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::objreference($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
1266             {
1267            
1268 0 0       0 Parse::RecDescent::_trace(q{<>},
1269             Parse::RecDescent::_tracefirst($text),
1270             q{objbody},
1271             $tracelevel)
1272             if defined $::RD_TRACE;
1273 0         0 $expectation->failed();
1274 0         0 last;
1275             }
1276 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [objreference]<< (return value: [}
1277             . $_tok . q{]},
1278            
1279             Parse::RecDescent::_tracefirst($text),
1280             q{objbody},
1281             $tracelevel)
1282             if defined $::RD_TRACE;
1283 0         0 $item{q{objreference}} = $_tok;
1284 0         0 push @item, $_tok;
1285            
1286             }
1287              
1288 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
1289             Parse::RecDescent::_tracefirst($text),
1290             q{objbody},
1291             $tracelevel)
1292             if defined $::RD_TRACE;
1293 0         0 $lastsep = "";
1294 0         0 $expectation->is(q{'>>'})->at($text);
1295            
1296              
1297 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  0 0       0  
1298             {
1299            
1300 0         0 $expectation->failed();
1301 0 0       0 Parse::RecDescent::_trace(qq{<>},
1302             Parse::RecDescent::_tracefirst($text))
1303             if defined $::RD_TRACE;
1304 0         0 last;
1305             }
1306 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1307             . $& . q{])},
1308             Parse::RecDescent::_tracefirst($text))
1309             if defined $::RD_TRACE;
1310 0         0 push @item, $item{__STRING6__}=$&;
1311            
1312              
1313 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/Type']},
1314             Parse::RecDescent::_tracefirst($text),
1315             q{objbody},
1316             $tracelevel)
1317             if defined $::RD_TRACE;
1318 0         0 $lastsep = "";
1319 0         0 $expectation->is(q{'/Type'})->at($text);
1320            
1321              
1322 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/Type//)
  0 0       0  
1323             {
1324            
1325 0         0 $expectation->failed();
1326 0 0       0 Parse::RecDescent::_trace(qq{<>},
1327             Parse::RecDescent::_tracefirst($text))
1328             if defined $::RD_TRACE;
1329 0         0 last;
1330             }
1331 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1332             . $& . q{])},
1333             Parse::RecDescent::_tracefirst($text))
1334             if defined $::RD_TRACE;
1335 0         0 push @item, $item{__STRING7__}=$&;
1336            
1337              
1338 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/Filespec']},
1339             Parse::RecDescent::_tracefirst($text),
1340             q{objbody},
1341             $tracelevel)
1342             if defined $::RD_TRACE;
1343 0         0 $lastsep = "";
1344 0         0 $expectation->is(q{'/Filespec'})->at($text);
1345            
1346              
1347 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/Filespec//)
  0 0       0  
1348             {
1349            
1350 0         0 $expectation->failed();
1351 0 0       0 Parse::RecDescent::_trace(qq{<>},
1352             Parse::RecDescent::_tracefirst($text))
1353             if defined $::RD_TRACE;
1354 0         0 last;
1355             }
1356 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1357             . $& . q{])},
1358             Parse::RecDescent::_tracefirst($text))
1359             if defined $::RD_TRACE;
1360 0         0 push @item, $item{__STRING8__}=$&;
1361            
1362              
1363 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
1364             Parse::RecDescent::_tracefirst($text),
1365             q{objbody},
1366             $tracelevel)
1367             if defined $::RD_TRACE;
1368 0         0 $lastsep = "";
1369 0         0 $expectation->is(q{'>>'})->at($text);
1370            
1371              
1372 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  0 0       0  
1373             {
1374            
1375 0         0 $expectation->failed();
1376 0 0       0 Parse::RecDescent::_trace(qq{<>},
1377             Parse::RecDescent::_tracefirst($text))
1378             if defined $::RD_TRACE;
1379 0         0 last;
1380             }
1381 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1382             . $& . q{])},
1383             Parse::RecDescent::_tracefirst($text))
1384             if defined $::RD_TRACE;
1385 0         0 push @item, $item{__STRING9__}=$&;
1386            
1387              
1388 0 0       0 Parse::RecDescent::_trace(q{Trying action},
1389             Parse::RecDescent::_tracefirst($text),
1390             q{objbody},
1391             $tracelevel)
1392             if defined $::RD_TRACE;
1393            
1394              
1395 0 0       0 $_tok = ($_noactions) ? 0 : do {
1396 0         0 $::strname = $item[3];
1397 0         0 $::strcontent = ''; # clear ready for next file
1398 0         0 $return = [];
1399             };
1400 0 0       0 unless (defined $_tok)
1401             {
1402 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
1403             if defined $::RD_TRACE;
1404 0         0 last;
1405             }
1406 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1407             . $_tok . q{])},
1408             Parse::RecDescent::_tracefirst($text))
1409             if defined $::RD_TRACE;
1410 0         0 push @item, $_tok;
1411 0         0 $item{__ACTION1__}=$_tok;
1412            
1413              
1414              
1415 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['<<' '/F' filename '/EF' '<<' '/F' objreference '>>' '/Type' '/Filespec' '>>']<<},
1416             Parse::RecDescent::_tracefirst($text),
1417             q{objbody},
1418             $tracelevel)
1419             if defined $::RD_TRACE;
1420 0         0 $_matched = 1;
1421 0         0 last;
1422             }
1423              
1424             splice
1425 21 50       74 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
1426            
1427 21   33     69 while (!$_matched && !$commit)
1428             {
1429            
1430 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['<<' '/Length' m#\\d+# filter subtype params dl stream]},
1431             Parse::RecDescent::_tracefirst($_[1]),
1432             q{objbody},
1433             $tracelevel)
1434             if defined $::RD_TRACE;
1435 0         0 my $thisprod = $thisrule->{"prods"}[4];
1436 0         0 $text = $_[1];
1437 0         0 my $_savetext;
1438 0         0 @item = (q{objbody});
1439 0         0 %item = (__RULE__ => q{objbody});
1440 0         0 my $repcount = 0;
1441              
1442              
1443 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
1444             Parse::RecDescent::_tracefirst($text),
1445             q{objbody},
1446             $tracelevel)
1447             if defined $::RD_TRACE;
1448 0         0 $lastsep = "";
1449 0         0 $expectation->is(q{})->at($text);
1450            
1451              
1452 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  0 0       0  
1453             {
1454            
1455 0         0 $expectation->failed();
1456 0 0       0 Parse::RecDescent::_trace(qq{<>},
1457             Parse::RecDescent::_tracefirst($text))
1458             if defined $::RD_TRACE;
1459 0         0 last;
1460             }
1461 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1462             . $& . q{])},
1463             Parse::RecDescent::_tracefirst($text))
1464             if defined $::RD_TRACE;
1465 0         0 push @item, $item{__STRING1__}=$&;
1466            
1467              
1468 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/Length']},
1469             Parse::RecDescent::_tracefirst($text),
1470             q{objbody},
1471             $tracelevel)
1472             if defined $::RD_TRACE;
1473 0         0 $lastsep = "";
1474 0         0 $expectation->is(q{'/Length'})->at($text);
1475            
1476              
1477 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/Length//)
  0 0       0  
1478             {
1479            
1480 0         0 $expectation->failed();
1481 0 0       0 Parse::RecDescent::_trace(qq{<>},
1482             Parse::RecDescent::_tracefirst($text))
1483             if defined $::RD_TRACE;
1484 0         0 last;
1485             }
1486 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1487             . $& . q{])},
1488             Parse::RecDescent::_tracefirst($text))
1489             if defined $::RD_TRACE;
1490 0         0 push @item, $item{__STRING2__}=$&;
1491            
1492              
1493 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [m#\\d+#]}, Parse::RecDescent::_tracefirst($text),
1494             q{objbody},
1495             $tracelevel)
1496             if defined $::RD_TRACE;
1497 0         0 $lastsep = "";
1498 0         0 $expectation->is(q{m#\\d+#})->at($text);
1499            
1500              
1501 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s#\A(?:\d+)##)
  0 0       0  
1502             {
1503            
1504 0         0 $expectation->failed();
1505 0 0       0 Parse::RecDescent::_trace(q{<>},
1506             Parse::RecDescent::_tracefirst($text))
1507             if defined $::RD_TRACE;
1508              
1509 0         0 last;
1510             }
1511 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1512             . $& . q{])},
1513             Parse::RecDescent::_tracefirst($text))
1514             if defined $::RD_TRACE;
1515 0         0 push @item, $item{__PATTERN1__}=$&;
1516            
1517              
1518 0 0       0 Parse::RecDescent::_trace(q{Trying repeated subrule: [filter]},
1519             Parse::RecDescent::_tracefirst($text),
1520             q{objbody},
1521             $tracelevel)
1522             if defined $::RD_TRACE;
1523 0         0 $expectation->is(q{filter})->at($text);
1524            
1525 0 0       0 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::PDF::FDF::Simple::Grammar::filter, 0, 1, $_noactions,$expectation,undef)))
1526             {
1527 0 0       0 Parse::RecDescent::_trace(q{<>},
1528             Parse::RecDescent::_tracefirst($text),
1529             q{objbody},
1530             $tracelevel)
1531             if defined $::RD_TRACE;
1532 0         0 last;
1533             }
1534 0 0       0 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [filter]<< (}
1535             . @$_tok . q{ times)},
1536            
1537             Parse::RecDescent::_tracefirst($text),
1538             q{objbody},
1539             $tracelevel)
1540             if defined $::RD_TRACE;
1541 0         0 $item{q{filter(?)}} = $_tok;
1542 0         0 push @item, $_tok;
1543            
1544              
1545              
1546 0 0       0 Parse::RecDescent::_trace(q{Trying repeated subrule: [subtype]},
1547             Parse::RecDescent::_tracefirst($text),
1548             q{objbody},
1549             $tracelevel)
1550             if defined $::RD_TRACE;
1551 0         0 $expectation->is(q{subtype})->at($text);
1552            
1553 0 0       0 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::PDF::FDF::Simple::Grammar::subtype, 0, 1, $_noactions,$expectation,undef)))
1554             {
1555 0 0       0 Parse::RecDescent::_trace(q{<>},
1556             Parse::RecDescent::_tracefirst($text),
1557             q{objbody},
1558             $tracelevel)
1559             if defined $::RD_TRACE;
1560 0         0 last;
1561             }
1562 0 0       0 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [subtype]<< (}
1563             . @$_tok . q{ times)},
1564            
1565             Parse::RecDescent::_tracefirst($text),
1566             q{objbody},
1567             $tracelevel)
1568             if defined $::RD_TRACE;
1569 0         0 $item{q{subtype(?)}} = $_tok;
1570 0         0 push @item, $_tok;
1571            
1572              
1573              
1574 0 0       0 Parse::RecDescent::_trace(q{Trying repeated subrule: [params]},
1575             Parse::RecDescent::_tracefirst($text),
1576             q{objbody},
1577             $tracelevel)
1578             if defined $::RD_TRACE;
1579 0         0 $expectation->is(q{params})->at($text);
1580            
1581 0 0       0 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::PDF::FDF::Simple::Grammar::params, 0, 1, $_noactions,$expectation,undef)))
1582             {
1583 0 0       0 Parse::RecDescent::_trace(q{<>},
1584             Parse::RecDescent::_tracefirst($text),
1585             q{objbody},
1586             $tracelevel)
1587             if defined $::RD_TRACE;
1588 0         0 last;
1589             }
1590 0 0       0 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [params]<< (}
1591             . @$_tok . q{ times)},
1592            
1593             Parse::RecDescent::_tracefirst($text),
1594             q{objbody},
1595             $tracelevel)
1596             if defined $::RD_TRACE;
1597 0         0 $item{q{params(?)}} = $_tok;
1598 0         0 push @item, $_tok;
1599            
1600              
1601              
1602 0 0       0 Parse::RecDescent::_trace(q{Trying repeated subrule: [dl]},
1603             Parse::RecDescent::_tracefirst($text),
1604             q{objbody},
1605             $tracelevel)
1606             if defined $::RD_TRACE;
1607 0         0 $expectation->is(q{dl})->at($text);
1608            
1609 0 0       0 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::PDF::FDF::Simple::Grammar::dl, 0, 1, $_noactions,$expectation,undef)))
1610             {
1611 0 0       0 Parse::RecDescent::_trace(q{<>},
1612             Parse::RecDescent::_tracefirst($text),
1613             q{objbody},
1614             $tracelevel)
1615             if defined $::RD_TRACE;
1616 0         0 last;
1617             }
1618 0 0       0 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [dl]<< (}
1619             . @$_tok . q{ times)},
1620            
1621             Parse::RecDescent::_tracefirst($text),
1622             q{objbody},
1623             $tracelevel)
1624             if defined $::RD_TRACE;
1625 0         0 $item{q{dl(?)}} = $_tok;
1626 0         0 push @item, $_tok;
1627            
1628              
1629              
1630 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [stream]},
1631             Parse::RecDescent::_tracefirst($text),
1632             q{objbody},
1633             $tracelevel)
1634             if defined $::RD_TRACE;
1635 15     15   152 if (1) { no strict qw{refs};
  15         34  
  15         41047  
  0         0  
1636 0         0 $expectation->is(q{stream})->at($text);
1637 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::stream($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
1638             {
1639            
1640 0 0       0 Parse::RecDescent::_trace(q{<>},
1641             Parse::RecDescent::_tracefirst($text),
1642             q{objbody},
1643             $tracelevel)
1644             if defined $::RD_TRACE;
1645 0         0 $expectation->failed();
1646 0         0 last;
1647             }
1648 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [stream]<< (return value: [}
1649             . $_tok . q{]},
1650            
1651             Parse::RecDescent::_tracefirst($text),
1652             q{objbody},
1653             $tracelevel)
1654             if defined $::RD_TRACE;
1655 0         0 $item{q{stream}} = $_tok;
1656 0         0 push @item, $_tok;
1657            
1658             }
1659              
1660 0 0       0 Parse::RecDescent::_trace(q{Trying action},
1661             Parse::RecDescent::_tracefirst($text),
1662             q{objbody},
1663             $tracelevel)
1664             if defined $::RD_TRACE;
1665            
1666              
1667 0 0       0 $_tok = ($_noactions) ? 0 : do {
1668             #print "STRNAME = $::strname\nSTRCONTENT = $::strcontent\n";
1669             # RJH don't write until FlateDecode developed
1670             #&write_file($::strname,\$::strcontent);
1671 0         0 $return = [];
1672             };
1673 0 0       0 unless (defined $_tok)
1674             {
1675 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
1676             if defined $::RD_TRACE;
1677 0         0 last;
1678             }
1679 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1680             . $_tok . q{])},
1681             Parse::RecDescent::_tracefirst($text))
1682             if defined $::RD_TRACE;
1683 0         0 push @item, $_tok;
1684 0         0 $item{__ACTION1__}=$_tok;
1685            
1686              
1687              
1688 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['<<' '/Length' m#\\d+# filter subtype params dl stream]<<},
1689             Parse::RecDescent::_tracefirst($text),
1690             q{objbody},
1691             $tracelevel)
1692             if defined $::RD_TRACE;
1693 0         0 $_matched = 1;
1694 0         0 last;
1695             }
1696              
1697             splice
1698 21 50       70 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
1699            
1700 21   33     98 while (!$_matched && !$commit)
1701             {
1702            
1703 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['<<' '/StemV' m#\\d+# stemparams stemstream]},
1704             Parse::RecDescent::_tracefirst($_[1]),
1705             q{objbody},
1706             $tracelevel)
1707             if defined $::RD_TRACE;
1708 0         0 my $thisprod = $thisrule->{"prods"}[5];
1709 0         0 $text = $_[1];
1710 0         0 my $_savetext;
1711 0         0 @item = (q{objbody});
1712 0         0 %item = (__RULE__ => q{objbody});
1713 0         0 my $repcount = 0;
1714              
1715              
1716 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
1717             Parse::RecDescent::_tracefirst($text),
1718             q{objbody},
1719             $tracelevel)
1720             if defined $::RD_TRACE;
1721 0         0 $lastsep = "";
1722 0         0 $expectation->is(q{})->at($text);
1723            
1724              
1725 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  0 0       0  
1726             {
1727            
1728 0         0 $expectation->failed();
1729 0 0       0 Parse::RecDescent::_trace(qq{<>},
1730             Parse::RecDescent::_tracefirst($text))
1731             if defined $::RD_TRACE;
1732 0         0 last;
1733             }
1734 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1735             . $& . q{])},
1736             Parse::RecDescent::_tracefirst($text))
1737             if defined $::RD_TRACE;
1738 0         0 push @item, $item{__STRING1__}=$&;
1739            
1740              
1741 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/StemV']},
1742             Parse::RecDescent::_tracefirst($text),
1743             q{objbody},
1744             $tracelevel)
1745             if defined $::RD_TRACE;
1746 0         0 $lastsep = "";
1747 0         0 $expectation->is(q{'/StemV'})->at($text);
1748            
1749              
1750 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/StemV//)
  0 0       0  
1751             {
1752            
1753 0         0 $expectation->failed();
1754 0 0       0 Parse::RecDescent::_trace(qq{<>},
1755             Parse::RecDescent::_tracefirst($text))
1756             if defined $::RD_TRACE;
1757 0         0 last;
1758             }
1759 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1760             . $& . q{])},
1761             Parse::RecDescent::_tracefirst($text))
1762             if defined $::RD_TRACE;
1763 0         0 push @item, $item{__STRING2__}=$&;
1764            
1765              
1766 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [m#\\d+#]}, Parse::RecDescent::_tracefirst($text),
1767             q{objbody},
1768             $tracelevel)
1769             if defined $::RD_TRACE;
1770 0         0 $lastsep = "";
1771 0         0 $expectation->is(q{m#\\d+#})->at($text);
1772            
1773              
1774 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s#\A(?:\d+)##)
  0 0       0  
1775             {
1776            
1777 0         0 $expectation->failed();
1778 0 0       0 Parse::RecDescent::_trace(q{<>},
1779             Parse::RecDescent::_tracefirst($text))
1780             if defined $::RD_TRACE;
1781              
1782 0         0 last;
1783             }
1784 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
1785             . $& . q{])},
1786             Parse::RecDescent::_tracefirst($text))
1787             if defined $::RD_TRACE;
1788 0         0 push @item, $item{__PATTERN1__}=$&;
1789            
1790              
1791 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [stemparams]},
1792             Parse::RecDescent::_tracefirst($text),
1793             q{objbody},
1794             $tracelevel)
1795             if defined $::RD_TRACE;
1796 15     15   133 if (1) { no strict qw{refs};
  15         36  
  15         5614  
  0         0  
1797 0         0 $expectation->is(q{stemparams})->at($text);
1798 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::stemparams($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
1799             {
1800            
1801 0 0       0 Parse::RecDescent::_trace(q{<>},
1802             Parse::RecDescent::_tracefirst($text),
1803             q{objbody},
1804             $tracelevel)
1805             if defined $::RD_TRACE;
1806 0         0 $expectation->failed();
1807 0         0 last;
1808             }
1809 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [stemparams]<< (return value: [}
1810             . $_tok . q{]},
1811            
1812             Parse::RecDescent::_tracefirst($text),
1813             q{objbody},
1814             $tracelevel)
1815             if defined $::RD_TRACE;
1816 0         0 $item{q{stemparams}} = $_tok;
1817 0         0 push @item, $_tok;
1818            
1819             }
1820              
1821 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [stemstream]},
1822             Parse::RecDescent::_tracefirst($text),
1823             q{objbody},
1824             $tracelevel)
1825             if defined $::RD_TRACE;
1826 15     15   94 if (1) { no strict qw{refs};
  15         42  
  15         30206  
  0         0  
1827 0         0 $expectation->is(q{stemstream})->at($text);
1828 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::stemstream($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
1829             {
1830            
1831 0 0       0 Parse::RecDescent::_trace(q{<>},
1832             Parse::RecDescent::_tracefirst($text),
1833             q{objbody},
1834             $tracelevel)
1835             if defined $::RD_TRACE;
1836 0         0 $expectation->failed();
1837 0         0 last;
1838             }
1839 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [stemstream]<< (return value: [}
1840             . $_tok . q{]},
1841            
1842             Parse::RecDescent::_tracefirst($text),
1843             q{objbody},
1844             $tracelevel)
1845             if defined $::RD_TRACE;
1846 0         0 $item{q{stemstream}} = $_tok;
1847 0         0 push @item, $_tok;
1848            
1849             }
1850              
1851 0 0       0 Parse::RecDescent::_trace(q{Trying action},
1852             Parse::RecDescent::_tracefirst($text),
1853             q{objbody},
1854             $tracelevel)
1855             if defined $::RD_TRACE;
1856            
1857              
1858 0 0       0 $_tok = ($_noactions) ? 0 : do {
1859 0         0 $return = [];
1860             };
1861 0 0       0 unless (defined $_tok)
1862             {
1863 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
1864             if defined $::RD_TRACE;
1865 0         0 last;
1866             }
1867 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
1868             . $_tok . q{])},
1869             Parse::RecDescent::_tracefirst($text))
1870             if defined $::RD_TRACE;
1871 0         0 push @item, $_tok;
1872 0         0 $item{__ACTION1__}=$_tok;
1873            
1874              
1875              
1876 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['<<' '/StemV' m#\\d+# stemparams stemstream]<<},
1877             Parse::RecDescent::_tracefirst($text),
1878             q{objbody},
1879             $tracelevel)
1880             if defined $::RD_TRACE;
1881 0         0 $_matched = 1;
1882 0         0 last;
1883             }
1884              
1885             splice
1886 21 50       135 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
1887            
1888 21 0 33     224 unless ( $_matched || defined($return) || defined($score) )
      33        
1889             {
1890 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
1891            
1892              
1893 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
1894 0 0       0 Parse::RecDescent::_trace(q{<>},
1895             Parse::RecDescent::_tracefirst($_[1]),
1896             q{objbody},
1897             $tracelevel)
1898             if defined $::RD_TRACE;
1899 0         0 return undef;
1900             }
1901 21 50 33     103 if (!defined($return) && defined($score))
1902             {
1903 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
1904             q{objbody},
1905             $tracelevel)
1906             if defined $::RD_TRACE;
1907 0         0 $return = $score_return;
1908             }
1909 21         37 splice @{$thisparser->{errors}}, $err_at;
  21         67  
1910 21 50       84 $return = $item[$#item] unless defined $return;
1911 21 50       79 if (defined $::RD_TRACE)
1912             {
1913 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
1914             $return . q{])}, "",
1915             q{objbody},
1916             $tracelevel);
1917 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
1918             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
1919             Parse::RecDescent::_tracefirst($text),
1920             , q{objbody},
1921             $tracelevel)
1922             }
1923 21         57 $_[1] = $text;
1924 21         389 return $return;
1925             }
1926              
1927             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
1928             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::docstart
1929             {
1930 17     17   48 my $thisparser = $_[0];
1931 15     15   160 use vars q{$tracelevel};
  15         105  
  15         10989  
1932 17   50     82 local $tracelevel = ($tracelevel||0)+1;
1933 17         40 $ERRORS = 0;
1934 17         56 my $thisrule = $thisparser->{"rules"}{"docstart"};
1935            
1936 17 50       68 Parse::RecDescent::_trace(q{Trying rule: [docstart]},
1937             Parse::RecDescent::_tracefirst($_[1]),
1938             q{docstart},
1939             $tracelevel)
1940             if defined $::RD_TRACE;
1941              
1942 17         31 my $def_at = @{$thisparser->{deferred}};
  17         52  
1943 17         35 my $err_at = @{$thisparser->{errors}};
  17         46  
1944              
1945 17         52 my $score;
1946             my $score_return;
1947 0         0 my $_tok;
1948 17         42 my $return = undef;
1949 17         39 my $_matched=0;
1950 17         36 my $commit=0;
1951 17         41 my @item = ();
1952 17         43 my %item = ();
1953 17   33     105 my $repeating = defined($_[2]) && $_[2];
1954 17   33     105 my $_noactions = defined($_[3]) && $_[3];
1955 17 50       70 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  17         35  
  17         53  
1956 17 50       1169 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
1957 17         39 my $text;
1958 17         35 my $lastsep="";
1959 17         76 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
1960 17         752 $expectation->at($_[1]);
1961            
1962 17         68 my $thisline;
1963 17         99 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
1964              
1965            
1966              
1967 17   33     237 while (!$_matched && !$commit)
1968             {
1969            
1970 17 50       67 Parse::RecDescent::_trace(q{Trying production: [/%FDF-[0-9]+\\.[0-9]+/ garbage]},
1971             Parse::RecDescent::_tracefirst($_[1]),
1972             q{docstart},
1973             $tracelevel)
1974             if defined $::RD_TRACE;
1975 17         47 my $thisprod = $thisrule->{"prods"}[0];
1976 17         35 $text = $_[1];
1977 17         29 my $_savetext;
1978 17         49 @item = (q{docstart});
1979 17         57 %item = (__RULE__ => q{docstart});
1980 17         38 my $repcount = 0;
1981              
1982              
1983 17 50       67 Parse::RecDescent::_trace(q{Trying terminal: [/%FDF-[0-9]+\\.[0-9]+/]}, Parse::RecDescent::_tracefirst($text),
1984             q{docstart},
1985             $tracelevel)
1986             if defined $::RD_TRACE;
1987 17         34 $lastsep = "";
1988 17         67 $expectation->is(q{})->at($text);
1989            
1990              
1991 17 50 66     523 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:%FDF-[0-9]+\.[0-9]+)//)
  17 100       455  
1992             {
1993            
1994 1         5 $expectation->failed();
1995 1 50       7 Parse::RecDescent::_trace(q{<>},
1996             Parse::RecDescent::_tracefirst($text))
1997             if defined $::RD_TRACE;
1998              
1999 1         4 last;
2000             }
2001 16 50       74 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2002             . $& . q{])},
2003             Parse::RecDescent::_tracefirst($text))
2004             if defined $::RD_TRACE;
2005 16         71 push @item, $item{__PATTERN1__}=$&;
2006            
2007              
2008 16 50       59 Parse::RecDescent::_trace(q{Trying subrule: [garbage]},
2009             Parse::RecDescent::_tracefirst($text),
2010             q{docstart},
2011             $tracelevel)
2012             if defined $::RD_TRACE;
2013 15     15   100 if (1) { no strict qw{refs};
  15         32  
  15         12134  
  16         37  
2014 16         64 $expectation->is(q{garbage})->at($text);
2015 16 50   16   287 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::garbage($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  16         47  
2016             {
2017            
2018 0 0       0 Parse::RecDescent::_trace(q{<>},
2019             Parse::RecDescent::_tracefirst($text),
2020             q{docstart},
2021             $tracelevel)
2022             if defined $::RD_TRACE;
2023 0         0 $expectation->failed();
2024 0         0 last;
2025             }
2026 16 50       107 Parse::RecDescent::_trace(q{>>Matched subrule: [garbage]<< (return value: [}
2027             . $_tok . q{]},
2028            
2029             Parse::RecDescent::_tracefirst($text),
2030             q{docstart},
2031             $tracelevel)
2032             if defined $::RD_TRACE;
2033 16         39 $item{q{garbage}} = $_tok;
2034 16         43 push @item, $_tok;
2035            
2036             }
2037              
2038              
2039 16 50       77 Parse::RecDescent::_trace(q{>>Matched production: [/%FDF-[0-9]+\\.[0-9]+/ garbage]<<},
2040             Parse::RecDescent::_tracefirst($text),
2041             q{docstart},
2042             $tracelevel)
2043             if defined $::RD_TRACE;
2044 16         29 $_matched = 1;
2045 16         43 last;
2046             }
2047              
2048             splice
2049 17 100       66 @{$thisparser->{deferred}}, $def_at unless $_matched;
  1         4  
2050            
2051 17   66     72 while (!$_matched && !$commit)
2052             {
2053            
2054 1 50       4 Parse::RecDescent::_trace(q{Trying production: []},
2055             Parse::RecDescent::_tracefirst($_[1]),
2056             q{docstart},
2057             $tracelevel)
2058             if defined $::RD_TRACE;
2059 1         3 my $thisprod = $thisrule->{"prods"}[1];
2060 1         2 $text = $_[1];
2061 1         2 my $_savetext;
2062 1         4 @item = (q{docstart});
2063 1         2 %item = (__RULE__ => q{docstart});
2064 1         2 my $repcount = 0;
2065              
2066              
2067              
2068 1 50       3 Parse::RecDescent::_trace(q{>>Matched production: []<<},
2069             Parse::RecDescent::_tracefirst($text),
2070             q{docstart},
2071             $tracelevel)
2072             if defined $::RD_TRACE;
2073 1         3 $_matched = 1;
2074 1         2 last;
2075             }
2076              
2077             splice
2078 17 50       119 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
2079            
2080 17 0 33     81 unless ( $_matched || defined($return) || defined($score) )
      33        
2081             {
2082 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
2083            
2084              
2085 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
2086 0 0       0 Parse::RecDescent::_trace(q{<>},
2087             Parse::RecDescent::_tracefirst($_[1]),
2088             q{docstart},
2089             $tracelevel)
2090             if defined $::RD_TRACE;
2091 0         0 return undef;
2092             }
2093 17 50 33     159 if (!defined($return) && defined($score))
2094             {
2095 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2096             q{docstart},
2097             $tracelevel)
2098             if defined $::RD_TRACE;
2099 0         0 $return = $score_return;
2100             }
2101 17         34 splice @{$thisparser->{errors}}, $err_at;
  17         49  
2102 17 50       80 $return = $item[$#item] unless defined $return;
2103 17 50       72 if (defined $::RD_TRACE)
2104             {
2105 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2106             $return . q{])}, "",
2107             q{docstart},
2108             $tracelevel);
2109 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2110             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2111             Parse::RecDescent::_tracefirst($text),
2112             , q{docstart},
2113             $tracelevel)
2114             }
2115 17         42 $_[1] = $text;
2116 17         184 return $return;
2117             }
2118              
2119             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
2120             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::feature
2121             {
2122 177     177   264 my $thisparser = $_[0];
2123 15     15   97 use vars q{$tracelevel};
  15         34  
  15         15059  
2124 177   50     491 local $tracelevel = ($tracelevel||0)+1;
2125 177         247 $ERRORS = 0;
2126 177         423 my $thisrule = $thisparser->{"rules"}{"feature"};
2127            
2128 177 50       353 Parse::RecDescent::_trace(q{Trying rule: [feature]},
2129             Parse::RecDescent::_tracefirst($_[1]),
2130             q{feature},
2131             $tracelevel)
2132             if defined $::RD_TRACE;
2133              
2134 177         187 my $def_at = @{$thisparser->{deferred}};
  177         417  
2135 177         225 my $err_at = @{$thisparser->{errors}};
  177         325  
2136              
2137 177         234 my $score;
2138             my $score_return;
2139 0         0 my $_tok;
2140 177         232 my $return = undef;
2141 177         203 my $_matched=0;
2142 177         397 my $commit=0;
2143 177         286 my @item = ();
2144 177         288 my %item = ();
2145 177   33     590 my $repeating = defined($_[2]) && $_[2];
2146 177   33     538 my $_noactions = defined($_[3]) && $_[3];
2147 177 50       368 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  177         189  
  177         355  
2148 177 50       560 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2149 177         186 my $text;
2150 177         276 my $lastsep="";
2151 177         615 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
2152 177         5472 $expectation->at($_[1]);
2153            
2154 177         668 my $thisline;
2155 177         1098 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2156              
2157            
2158              
2159 177   33     1757 while (!$_matched && !$commit)
2160             {
2161            
2162 177 50       411 Parse::RecDescent::_trace(q{Trying production: [m!/[^\\s/>]*!]},
2163             Parse::RecDescent::_tracefirst($_[1]),
2164             q{feature},
2165             $tracelevel)
2166             if defined $::RD_TRACE;
2167 177         324 my $thisprod = $thisrule->{"prods"}[0];
2168 177         261 $text = $_[1];
2169 177         180 my $_savetext;
2170 177         359 @item = (q{feature});
2171 177         367 %item = (__RULE__ => q{feature});
2172 177         232 my $repcount = 0;
2173              
2174              
2175 177 50       369 Parse::RecDescent::_trace(q{Trying terminal: [m!/[^\\s/>]*!]}, Parse::RecDescent::_tracefirst($text),
2176             q{feature},
2177             $tracelevel)
2178             if defined $::RD_TRACE;
2179 177         607 $lastsep = "";
2180 177         548 $expectation->is(q{})->at($text);
2181            
2182              
2183 177 100 33     1977 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s!\A(?:/[^\s/>]*)!!)
  177 50       2694  
2184             {
2185            
2186 0         0 $expectation->failed();
2187 0 0       0 Parse::RecDescent::_trace(q{<>},
2188             Parse::RecDescent::_tracefirst($text))
2189             if defined $::RD_TRACE;
2190              
2191 0         0 last;
2192             }
2193 177 50       473 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2194             . $& . q{])},
2195             Parse::RecDescent::_tracefirst($text))
2196             if defined $::RD_TRACE;
2197 177         598 push @item, $item{__PATTERN1__}=$&;
2198            
2199              
2200              
2201 177 50       382 Parse::RecDescent::_trace(q{>>Matched production: [m!/[^\\s/>]*!]<<},
2202             Parse::RecDescent::_tracefirst($text),
2203             q{feature},
2204             $tracelevel)
2205             if defined $::RD_TRACE;
2206 177         229 $_matched = 1;
2207 177         325 last;
2208             }
2209              
2210             splice
2211 177 50       413 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
2212            
2213 177 0 33     443 unless ( $_matched || defined($return) || defined($score) )
      33        
2214             {
2215 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
2216            
2217              
2218 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
2219 0 0       0 Parse::RecDescent::_trace(q{<>},
2220             Parse::RecDescent::_tracefirst($_[1]),
2221             q{feature},
2222             $tracelevel)
2223             if defined $::RD_TRACE;
2224 0         0 return undef;
2225             }
2226 177 50 33     805 if (!defined($return) && defined($score))
2227             {
2228 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2229             q{feature},
2230             $tracelevel)
2231             if defined $::RD_TRACE;
2232 0         0 $return = $score_return;
2233             }
2234 177         208 splice @{$thisparser->{errors}}, $err_at;
  177         412  
2235 177 50       526 $return = $item[$#item] unless defined $return;
2236 177 50       411 if (defined $::RD_TRACE)
2237             {
2238 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2239             $return . q{])}, "",
2240             q{feature},
2241             $tracelevel);
2242 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2243             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2244             Parse::RecDescent::_tracefirst($text),
2245             , q{feature},
2246             $tracelevel)
2247             }
2248 177         294 $_[1] = $text;
2249 177         1553 return $return;
2250             }
2251              
2252             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
2253             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::subtype
2254             {
2255 0     0   0 my $thisparser = $_[0];
2256 15     15   109 use vars q{$tracelevel};
  15         31  
  15         18407  
2257 0   0     0 local $tracelevel = ($tracelevel||0)+1;
2258 0         0 $ERRORS = 0;
2259 0         0 my $thisrule = $thisparser->{"rules"}{"subtype"};
2260            
2261 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [subtype]},
2262             Parse::RecDescent::_tracefirst($_[1]),
2263             q{subtype},
2264             $tracelevel)
2265             if defined $::RD_TRACE;
2266              
2267 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
2268 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
2269              
2270 0         0 my $score;
2271             my $score_return;
2272 0         0 my $_tok;
2273 0         0 my $return = undef;
2274 0         0 my $_matched=0;
2275 0         0 my $commit=0;
2276 0         0 my @item = ();
2277 0         0 my %item = ();
2278 0   0     0 my $repeating = defined($_[2]) && $_[2];
2279 0   0     0 my $_noactions = defined($_[3]) && $_[3];
2280 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
2281 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2282 0         0 my $text;
2283 0         0 my $lastsep="";
2284 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
2285 0         0 $expectation->at($_[1]);
2286            
2287 0         0 my $thisline;
2288 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2289              
2290            
2291              
2292 0   0     0 while (!$_matched && !$commit)
2293             {
2294            
2295 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['/Subtype' '/application#2Fpdf']},
2296             Parse::RecDescent::_tracefirst($_[1]),
2297             q{subtype},
2298             $tracelevel)
2299             if defined $::RD_TRACE;
2300 0         0 my $thisprod = $thisrule->{"prods"}[0];
2301 0         0 $text = $_[1];
2302 0         0 my $_savetext;
2303 0         0 @item = (q{subtype});
2304 0         0 %item = (__RULE__ => q{subtype});
2305 0         0 my $repcount = 0;
2306              
2307              
2308 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/Subtype']},
2309             Parse::RecDescent::_tracefirst($text),
2310             q{subtype},
2311             $tracelevel)
2312             if defined $::RD_TRACE;
2313 0         0 $lastsep = "";
2314 0         0 $expectation->is(q{})->at($text);
2315            
2316              
2317 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/Subtype//)
  0 0       0  
2318             {
2319            
2320 0         0 $expectation->failed();
2321 0 0       0 Parse::RecDescent::_trace(qq{<>},
2322             Parse::RecDescent::_tracefirst($text))
2323             if defined $::RD_TRACE;
2324 0         0 last;
2325             }
2326 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2327             . $& . q{])},
2328             Parse::RecDescent::_tracefirst($text))
2329             if defined $::RD_TRACE;
2330 0         0 push @item, $item{__STRING1__}=$&;
2331            
2332              
2333 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/application#2Fpdf']},
2334             Parse::RecDescent::_tracefirst($text),
2335             q{subtype},
2336             $tracelevel)
2337             if defined $::RD_TRACE;
2338 0         0 $lastsep = "";
2339 0         0 $expectation->is(q{'/application#2Fpdf'})->at($text);
2340            
2341              
2342 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/application\#2Fpdf//)
  0 0       0  
2343             {
2344            
2345 0         0 $expectation->failed();
2346 0 0       0 Parse::RecDescent::_trace(qq{<>},
2347             Parse::RecDescent::_tracefirst($text))
2348             if defined $::RD_TRACE;
2349 0         0 last;
2350             }
2351 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2352             . $& . q{])},
2353             Parse::RecDescent::_tracefirst($text))
2354             if defined $::RD_TRACE;
2355 0         0 push @item, $item{__STRING2__}=$&;
2356            
2357              
2358              
2359 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['/Subtype' '/application#2Fpdf']<<},
2360             Parse::RecDescent::_tracefirst($text),
2361             q{subtype},
2362             $tracelevel)
2363             if defined $::RD_TRACE;
2364 0         0 $_matched = 1;
2365 0         0 last;
2366             }
2367              
2368             splice
2369 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
2370            
2371 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
2372             {
2373 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
2374            
2375              
2376 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
2377 0 0       0 Parse::RecDescent::_trace(q{<>},
2378             Parse::RecDescent::_tracefirst($_[1]),
2379             q{subtype},
2380             $tracelevel)
2381             if defined $::RD_TRACE;
2382 0         0 return undef;
2383             }
2384 0 0 0     0 if (!defined($return) && defined($score))
2385             {
2386 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2387             q{subtype},
2388             $tracelevel)
2389             if defined $::RD_TRACE;
2390 0         0 $return = $score_return;
2391             }
2392 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
2393 0 0       0 $return = $item[$#item] unless defined $return;
2394 0 0       0 if (defined $::RD_TRACE)
2395             {
2396 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2397             $return . q{])}, "",
2398             q{subtype},
2399             $tracelevel);
2400 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2401             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2402             Parse::RecDescent::_tracefirst($text),
2403             , q{subtype},
2404             $tracelevel)
2405             }
2406 0         0 $_[1] = $text;
2407 0         0 return $return;
2408             }
2409              
2410             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
2411             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::param
2412             {
2413 0     0   0 my $thisparser = $_[0];
2414 15     15   108 use vars q{$tracelevel};
  15         47  
  15         6878  
2415 0   0     0 local $tracelevel = ($tracelevel||0)+1;
2416 0         0 $ERRORS = 0;
2417 0         0 my $thisrule = $thisparser->{"rules"}{"param"};
2418            
2419 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [param]},
2420             Parse::RecDescent::_tracefirst($_[1]),
2421             q{param},
2422             $tracelevel)
2423             if defined $::RD_TRACE;
2424              
2425 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
2426 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
2427              
2428 0         0 my $score;
2429             my $score_return;
2430 0         0 my $_tok;
2431 0         0 my $return = undef;
2432 0         0 my $_matched=0;
2433 0         0 my $commit=0;
2434 0         0 my @item = ();
2435 0         0 my %item = ();
2436 0   0     0 my $repeating = defined($_[2]) && $_[2];
2437 0   0     0 my $_noactions = defined($_[3]) && $_[3];
2438 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
2439 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2440 0         0 my $text;
2441 0         0 my $lastsep="";
2442 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
2443 0         0 $expectation->at($_[1]);
2444            
2445 0         0 my $thisline;
2446 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2447              
2448            
2449              
2450 0   0     0 while (!$_matched && !$commit)
2451             {
2452            
2453 0 0       0 Parse::RecDescent::_trace(q{Trying production: [paramname paramvalue]},
2454             Parse::RecDescent::_tracefirst($_[1]),
2455             q{param},
2456             $tracelevel)
2457             if defined $::RD_TRACE;
2458 0         0 my $thisprod = $thisrule->{"prods"}[0];
2459 0         0 $text = $_[1];
2460 0         0 my $_savetext;
2461 0         0 @item = (q{param});
2462 0         0 %item = (__RULE__ => q{param});
2463 0         0 my $repcount = 0;
2464              
2465              
2466 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [paramname]},
2467             Parse::RecDescent::_tracefirst($text),
2468             q{param},
2469             $tracelevel)
2470             if defined $::RD_TRACE;
2471 15     15   96 if (1) { no strict qw{refs};
  15         33  
  15         11787  
  0         0  
2472 0         0 $expectation->is(q{})->at($text);
2473 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::paramname($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
2474             {
2475            
2476 0 0       0 Parse::RecDescent::_trace(q{<>},
2477             Parse::RecDescent::_tracefirst($text),
2478             q{param},
2479             $tracelevel)
2480             if defined $::RD_TRACE;
2481 0         0 $expectation->failed();
2482 0         0 last;
2483             }
2484 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [paramname]<< (return value: [}
2485             . $_tok . q{]},
2486            
2487             Parse::RecDescent::_tracefirst($text),
2488             q{param},
2489             $tracelevel)
2490             if defined $::RD_TRACE;
2491 0         0 $item{q{paramname}} = $_tok;
2492 0         0 push @item, $_tok;
2493            
2494             }
2495              
2496 0 0       0 Parse::RecDescent::_trace(q{Trying repeated subrule: [paramvalue]},
2497             Parse::RecDescent::_tracefirst($text),
2498             q{param},
2499             $tracelevel)
2500             if defined $::RD_TRACE;
2501 0         0 $expectation->is(q{paramvalue})->at($text);
2502            
2503 0 0       0 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::PDF::FDF::Simple::Grammar::paramvalue, 0, 1, $_noactions,$expectation,undef)))
2504             {
2505 0 0       0 Parse::RecDescent::_trace(q{<>},
2506             Parse::RecDescent::_tracefirst($text),
2507             q{param},
2508             $tracelevel)
2509             if defined $::RD_TRACE;
2510 0         0 last;
2511             }
2512 0 0       0 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [paramvalue]<< (}
2513             . @$_tok . q{ times)},
2514            
2515             Parse::RecDescent::_tracefirst($text),
2516             q{param},
2517             $tracelevel)
2518             if defined $::RD_TRACE;
2519 0         0 $item{q{paramvalue(?)}} = $_tok;
2520 0         0 push @item, $_tok;
2521            
2522              
2523              
2524              
2525 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [paramname paramvalue]<<},
2526             Parse::RecDescent::_tracefirst($text),
2527             q{param},
2528             $tracelevel)
2529             if defined $::RD_TRACE;
2530 0         0 $_matched = 1;
2531 0         0 last;
2532             }
2533              
2534             splice
2535 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
2536            
2537 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
2538             {
2539 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
2540            
2541              
2542 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
2543 0 0       0 Parse::RecDescent::_trace(q{<>},
2544             Parse::RecDescent::_tracefirst($_[1]),
2545             q{param},
2546             $tracelevel)
2547             if defined $::RD_TRACE;
2548 0         0 return undef;
2549             }
2550 0 0 0     0 if (!defined($return) && defined($score))
2551             {
2552 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2553             q{param},
2554             $tracelevel)
2555             if defined $::RD_TRACE;
2556 0         0 $return = $score_return;
2557             }
2558 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
2559 0 0       0 $return = $item[$#item] unless defined $return;
2560 0 0       0 if (defined $::RD_TRACE)
2561             {
2562 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2563             $return . q{])}, "",
2564             q{param},
2565             $tracelevel);
2566 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2567             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2568             Parse::RecDescent::_tracefirst($text),
2569             , q{param},
2570             $tracelevel)
2571             }
2572 0         0 $_[1] = $text;
2573 0         0 return $return;
2574             }
2575              
2576             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
2577             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::startrule
2578             {
2579 17     17   1933 my $thisparser = $_[0];
2580 15     15   98 use vars q{$tracelevel};
  15         29  
  15         6891  
2581 17   50     193 local $tracelevel = ($tracelevel||0)+1;
2582 17         42 $ERRORS = 0;
2583 17         58 my $thisrule = $thisparser->{"rules"}{"startrule"};
2584            
2585 17 50       81 Parse::RecDescent::_trace(q{Trying rule: [startrule]},
2586             Parse::RecDescent::_tracefirst($_[1]),
2587             q{startrule},
2588             $tracelevel)
2589             if defined $::RD_TRACE;
2590              
2591 17         35 my $def_at = @{$thisparser->{deferred}};
  17         51  
2592 17         42 my $err_at = @{$thisparser->{errors}};
  17         49  
2593              
2594 17         39 my $score;
2595             my $score_return;
2596 0         0 my $_tok;
2597 17         40 my $return = undef;
2598 17         36 my $_matched=0;
2599 17         36 my $commit=0;
2600 17         44 my @item = ();
2601 17         46 my %item = ();
2602 17   33     87 my $repeating = defined($_[2]) && $_[2];
2603 17   33     82 my $_noactions = defined($_[3]) && $_[3];
2604 17 50       70 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  17         35  
  17         76  
2605 17 50       139 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
2606 17         39 my $text;
2607 17         42 my $lastsep="";
2608 17         112 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
2609 17         1257 $expectation->at($_[1]);
2610            
2611 17         233 my $thisline;
2612 17         180 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
2613              
2614            
2615              
2616 17   33     288 while (!$_matched && !$commit)
2617             {
2618            
2619 17 50       69 Parse::RecDescent::_trace(q{Trying production: [docstart objlist xref 'trailer' '<<' '/Root' objreference /[^>]*/ '>>' /.*/]},
2620             Parse::RecDescent::_tracefirst($_[1]),
2621             q{startrule},
2622             $tracelevel)
2623             if defined $::RD_TRACE;
2624 17         55 my $thisprod = $thisrule->{"prods"}[0];
2625 17         53 $text = $_[1];
2626 17         32 my $_savetext;
2627 17         50 @item = (q{startrule});
2628 17         63 %item = (__RULE__ => q{startrule});
2629 17         35 my $repcount = 0;
2630              
2631              
2632 17 50       73 Parse::RecDescent::_trace(q{Trying subrule: [docstart]},
2633             Parse::RecDescent::_tracefirst($text),
2634             q{startrule},
2635             $tracelevel)
2636             if defined $::RD_TRACE;
2637 15     15   98 if (1) { no strict qw{refs};
  15         34  
  15         3497  
  17         34  
2638 17         90 $expectation->is(q{})->at($text);
2639 17 50   17   247 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::docstart($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  17         57  
2640             {
2641            
2642 0 0       0 Parse::RecDescent::_trace(q{<>},
2643             Parse::RecDescent::_tracefirst($text),
2644             q{startrule},
2645             $tracelevel)
2646             if defined $::RD_TRACE;
2647 0         0 $expectation->failed();
2648 0         0 last;
2649             }
2650 17 50       100 Parse::RecDescent::_trace(q{>>Matched subrule: [docstart]<< (return value: [}
2651             . $_tok . q{]},
2652            
2653             Parse::RecDescent::_tracefirst($text),
2654             q{startrule},
2655             $tracelevel)
2656             if defined $::RD_TRACE;
2657 17         45 $item{q{docstart}} = $_tok;
2658 17         40 push @item, $_tok;
2659            
2660             }
2661              
2662 17 50       62 Parse::RecDescent::_trace(q{Trying subrule: [objlist]},
2663             Parse::RecDescent::_tracefirst($text),
2664             q{startrule},
2665             $tracelevel)
2666             if defined $::RD_TRACE;
2667 15     15   102 if (1) { no strict qw{refs};
  15         34  
  15         23980  
  17         30  
2668 17         98 $expectation->is(q{objlist})->at($text);
2669 17 50   17   259 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::objlist($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  17         55  
2670             {
2671            
2672 0 0       0 Parse::RecDescent::_trace(q{<>},
2673             Parse::RecDescent::_tracefirst($text),
2674             q{startrule},
2675             $tracelevel)
2676             if defined $::RD_TRACE;
2677 0         0 $expectation->failed();
2678 0         0 last;
2679             }
2680 17 50       123 Parse::RecDescent::_trace(q{>>Matched subrule: [objlist]<< (return value: [}
2681             . $_tok . q{]},
2682            
2683             Parse::RecDescent::_tracefirst($text),
2684             q{startrule},
2685             $tracelevel)
2686             if defined $::RD_TRACE;
2687 17         54 $item{q{objlist}} = $_tok;
2688 17         46 push @item, $_tok;
2689            
2690             }
2691              
2692 17 50       63 Parse::RecDescent::_trace(q{Trying repeated subrule: [xref]},
2693             Parse::RecDescent::_tracefirst($text),
2694             q{startrule},
2695             $tracelevel)
2696             if defined $::RD_TRACE;
2697 17         76 $expectation->is(q{xref})->at($text);
2698            
2699 17 50       236 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::PDF::FDF::Simple::Grammar::xref, 0, 1, $_noactions,$expectation,undef)))
2700             {
2701 0 0       0 Parse::RecDescent::_trace(q{<>},
2702             Parse::RecDescent::_tracefirst($text),
2703             q{startrule},
2704             $tracelevel)
2705             if defined $::RD_TRACE;
2706 0         0 last;
2707             }
2708 17 50       240 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xref]<< (}
2709             . @$_tok . q{ times)},
2710            
2711             Parse::RecDescent::_tracefirst($text),
2712             q{startrule},
2713             $tracelevel)
2714             if defined $::RD_TRACE;
2715 17         46 $item{q{xref(?)}} = $_tok;
2716 17         38 push @item, $_tok;
2717            
2718              
2719              
2720 17 50       64 Parse::RecDescent::_trace(q{Trying terminal: ['trailer']},
2721             Parse::RecDescent::_tracefirst($text),
2722             q{startrule},
2723             $tracelevel)
2724             if defined $::RD_TRACE;
2725 17         44 $lastsep = "";
2726 17         78 $expectation->is(q{'trailer'})->at($text);
2727            
2728              
2729 17 50 33     325 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Atrailer//)
  17 50       336  
2730             {
2731            
2732 0         0 $expectation->failed();
2733 0 0       0 Parse::RecDescent::_trace(qq{<>},
2734             Parse::RecDescent::_tracefirst($text))
2735             if defined $::RD_TRACE;
2736 0         0 last;
2737             }
2738 17 50       86 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2739             . $& . q{])},
2740             Parse::RecDescent::_tracefirst($text))
2741             if defined $::RD_TRACE;
2742 17         74 push @item, $item{__STRING1__}=$&;
2743            
2744              
2745 17 50       65 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
2746             Parse::RecDescent::_tracefirst($text),
2747             q{startrule},
2748             $tracelevel)
2749             if defined $::RD_TRACE;
2750 17         36 $lastsep = "";
2751 17         86 $expectation->is(q{'<<'})->at($text);
2752            
2753              
2754 17 50 33     300 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  17 50       287  
2755             {
2756            
2757 0         0 $expectation->failed();
2758 0 0       0 Parse::RecDescent::_trace(qq{<>},
2759             Parse::RecDescent::_tracefirst($text))
2760             if defined $::RD_TRACE;
2761 0         0 last;
2762             }
2763 17 50       77 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2764             . $& . q{])},
2765             Parse::RecDescent::_tracefirst($text))
2766             if defined $::RD_TRACE;
2767 17         79 push @item, $item{__STRING2__}=$&;
2768            
2769              
2770 17 50       65 Parse::RecDescent::_trace(q{Trying terminal: ['/Root']},
2771             Parse::RecDescent::_tracefirst($text),
2772             q{startrule},
2773             $tracelevel)
2774             if defined $::RD_TRACE;
2775 17         39 $lastsep = "";
2776 17         79 $expectation->is(q{'/Root'})->at($text);
2777            
2778              
2779 17 100 33     331 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/Root//)
  17 50       353  
2780             {
2781            
2782 0         0 $expectation->failed();
2783 0 0       0 Parse::RecDescent::_trace(qq{<>},
2784             Parse::RecDescent::_tracefirst($text))
2785             if defined $::RD_TRACE;
2786 0         0 last;
2787             }
2788 17 50       85 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2789             . $& . q{])},
2790             Parse::RecDescent::_tracefirst($text))
2791             if defined $::RD_TRACE;
2792 17         104 push @item, $item{__STRING3__}=$&;
2793            
2794              
2795 17 50       69 Parse::RecDescent::_trace(q{Trying subrule: [objreference]},
2796             Parse::RecDescent::_tracefirst($text),
2797             q{startrule},
2798             $tracelevel)
2799             if defined $::RD_TRACE;
2800 15     15   118 if (1) { no strict qw{refs};
  15         44  
  15         21137  
  17         32  
2801 17         76 $expectation->is(q{objreference})->at($text);
2802 17 50   17   246 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::objreference($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  17         116  
2803             {
2804            
2805 0 0       0 Parse::RecDescent::_trace(q{<>},
2806             Parse::RecDescent::_tracefirst($text),
2807             q{startrule},
2808             $tracelevel)
2809             if defined $::RD_TRACE;
2810 0         0 $expectation->failed();
2811 0         0 last;
2812             }
2813 17 50       103 Parse::RecDescent::_trace(q{>>Matched subrule: [objreference]<< (return value: [}
2814             . $_tok . q{]},
2815            
2816             Parse::RecDescent::_tracefirst($text),
2817             q{startrule},
2818             $tracelevel)
2819             if defined $::RD_TRACE;
2820 17         76 $item{q{objreference}} = $_tok;
2821 17         42 push @item, $_tok;
2822            
2823             }
2824              
2825 17 50       64 Parse::RecDescent::_trace(q{Trying terminal: [/[^>]*/]}, Parse::RecDescent::_tracefirst($text),
2826             q{startrule},
2827             $tracelevel)
2828             if defined $::RD_TRACE;
2829 17         38 $lastsep = "";
2830 17         79 $expectation->is(q{/[^>]*/})->at($text);
2831            
2832              
2833 17 100 33     328 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[^>]*)//)
  17 50       379  
2834             {
2835            
2836 0         0 $expectation->failed();
2837 0 0       0 Parse::RecDescent::_trace(q{<>},
2838             Parse::RecDescent::_tracefirst($text))
2839             if defined $::RD_TRACE;
2840              
2841 0         0 last;
2842             }
2843 17 50       74 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2844             . $& . q{])},
2845             Parse::RecDescent::_tracefirst($text))
2846             if defined $::RD_TRACE;
2847 17         71 push @item, $item{__PATTERN1__}=$&;
2848            
2849              
2850 17 50       87 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
2851             Parse::RecDescent::_tracefirst($text),
2852             q{startrule},
2853             $tracelevel)
2854             if defined $::RD_TRACE;
2855 17         37 $lastsep = "";
2856 17         83 $expectation->is(q{'>>'})->at($text);
2857            
2858              
2859 17 50 33     315 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  17 50       316  
2860             {
2861            
2862 0         0 $expectation->failed();
2863 0 0       0 Parse::RecDescent::_trace(qq{<>},
2864             Parse::RecDescent::_tracefirst($text))
2865             if defined $::RD_TRACE;
2866 0         0 last;
2867             }
2868 17 50       105 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2869             . $& . q{])},
2870             Parse::RecDescent::_tracefirst($text))
2871             if defined $::RD_TRACE;
2872 17         93 push @item, $item{__STRING4__}=$&;
2873            
2874              
2875 17 50       69 Parse::RecDescent::_trace(q{Trying terminal: [/.*/]}, Parse::RecDescent::_tracefirst($text),
2876             q{startrule},
2877             $tracelevel)
2878             if defined $::RD_TRACE;
2879 17         38 $lastsep = "";
2880 17         71 $expectation->is(q{/.*/})->at($text);
2881            
2882              
2883 17 50 33     298 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:.*)//)
  17 50       404  
2884             {
2885            
2886 0         0 $expectation->failed();
2887 0 0       0 Parse::RecDescent::_trace(q{<>},
2888             Parse::RecDescent::_tracefirst($text))
2889             if defined $::RD_TRACE;
2890              
2891 0         0 last;
2892             }
2893 17 50       77 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
2894             . $& . q{])},
2895             Parse::RecDescent::_tracefirst($text))
2896             if defined $::RD_TRACE;
2897 17         83 push @item, $item{__PATTERN2__}=$&;
2898            
2899              
2900 17 50       62 Parse::RecDescent::_trace(q{Trying action},
2901             Parse::RecDescent::_tracefirst($text),
2902             q{startrule},
2903             $tracelevel)
2904             if defined $::RD_TRACE;
2905            
2906              
2907 17 50       72 $_tok = ($_noactions) ? 0 : do {
2908 17         46 $PDF::FDF::Simple::deferred_result_FDF_OPTIONS = {};
2909 17         68 $return = $item{objlist};
2910             };
2911 17 50       73 unless (defined $_tok)
2912             {
2913 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
2914             if defined $::RD_TRACE;
2915 0         0 last;
2916             }
2917 17 50       89 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
2918             . $_tok . q{])},
2919             Parse::RecDescent::_tracefirst($text))
2920             if defined $::RD_TRACE;
2921 17         48 push @item, $_tok;
2922 17         46 $item{__ACTION1__}=$_tok;
2923            
2924              
2925              
2926 17 50       61 Parse::RecDescent::_trace(q{>>Matched production: [docstart objlist xref 'trailer' '<<' '/Root' objreference /[^>]*/ '>>' /.*/]<<},
2927             Parse::RecDescent::_tracefirst($text),
2928             q{startrule},
2929             $tracelevel)
2930             if defined $::RD_TRACE;
2931 17         33 $_matched = 1;
2932 17         64 last;
2933             }
2934              
2935             splice
2936 17 50       71 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
2937            
2938 17 0 33     102 unless ( $_matched || defined($return) || defined($score) )
      33        
2939             {
2940 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
2941            
2942              
2943 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
2944 0 0       0 Parse::RecDescent::_trace(q{<>},
2945             Parse::RecDescent::_tracefirst($_[1]),
2946             q{startrule},
2947             $tracelevel)
2948             if defined $::RD_TRACE;
2949 0         0 return undef;
2950             }
2951 17 50 33     91 if (!defined($return) && defined($score))
2952             {
2953 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
2954             q{startrule},
2955             $tracelevel)
2956             if defined $::RD_TRACE;
2957 0         0 $return = $score_return;
2958             }
2959 17         39 splice @{$thisparser->{errors}}, $err_at;
  17         47  
2960 17 50       84 $return = $item[$#item] unless defined $return;
2961 17 50       64 if (defined $::RD_TRACE)
2962             {
2963 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
2964             $return . q{])}, "",
2965             q{startrule},
2966             $tracelevel);
2967 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
2968             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
2969             Parse::RecDescent::_tracefirst($text),
2970             , q{startrule},
2971             $tracelevel)
2972             }
2973 17         91 $_[1] = $text;
2974 17         328 return $return;
2975             }
2976              
2977             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
2978             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::field
2979             {
2980 870     870   1441 my $thisparser = $_[0];
2981 15     15   111 use vars q{$tracelevel};
  15         23  
  15         9596  
2982 870   50     2577 local $tracelevel = ($tracelevel||0)+1;
2983 870         1150 $ERRORS = 0;
2984 870         2106 my $thisrule = $thisparser->{"rules"}{"field"};
2985            
2986 870 50       1904 Parse::RecDescent::_trace(q{Trying rule: [field]},
2987             Parse::RecDescent::_tracefirst($_[1]),
2988             q{field},
2989             $tracelevel)
2990             if defined $::RD_TRACE;
2991              
2992 870         1037 my $def_at = @{$thisparser->{deferred}};
  870         1877  
2993 870         1044 my $err_at = @{$thisparser->{errors}};
  870         1475  
2994              
2995 870         1217 my $score;
2996             my $score_return;
2997 0         0 my $_tok;
2998 870         1369 my $return = undef;
2999 870         1026 my $_matched=0;
3000 870         1078 my $commit=0;
3001 870         1421 my @item = ();
3002 870         1239 my %item = ();
3003 870   33     5673 my $repeating = defined($_[2]) && $_[2];
3004 870   33     2705 my $_noactions = defined($_[3]) && $_[3];
3005 870 50       1880 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  870         995  
  870         1641  
3006 870 50       2728 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3007 870         1013 my $text;
3008 870         1153 my $lastsep="";
3009 870         2839 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
3010 870         51174 $expectation->at($_[1]);
3011            
3012 870         3430 my $thisline;
3013 870         4041 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3014              
3015            
3016              
3017 870   33     9076 while (!$_matched && !$commit)
3018             {
3019            
3020 870 50       1954 Parse::RecDescent::_trace(q{Trying production: ['<<' fieldname fieldvalue '>>']},
3021             Parse::RecDescent::_tracefirst($_[1]),
3022             q{field},
3023             $tracelevel)
3024             if defined $::RD_TRACE;
3025 870         1714 my $thisprod = $thisrule->{"prods"}[0];
3026 870         1291 $text = $_[1];
3027 870         936 my $_savetext;
3028 870         3175 @item = (q{field});
3029 870         1860 %item = (__RULE__ => q{field});
3030 870         1314 my $repcount = 0;
3031              
3032              
3033 870 50       2009 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
3034             Parse::RecDescent::_tracefirst($text),
3035             q{field},
3036             $tracelevel)
3037             if defined $::RD_TRACE;
3038 870         1375 $lastsep = "";
3039 870         2675 $expectation->is(q{})->at($text);
3040            
3041              
3042 870 100 66     10385 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  870 100       28114  
3043             {
3044            
3045 94         343 $expectation->failed();
3046 94 50       677 Parse::RecDescent::_trace(qq{<>},
3047             Parse::RecDescent::_tracefirst($text))
3048             if defined $::RD_TRACE;
3049 94         224 last;
3050             }
3051 776 50       2524 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3052             . $& . q{])},
3053             Parse::RecDescent::_tracefirst($text))
3054             if defined $::RD_TRACE;
3055 776         2635 push @item, $item{__STRING1__}=$&;
3056            
3057              
3058 776 50       1943 Parse::RecDescent::_trace(q{Trying subrule: [fieldname]},
3059             Parse::RecDescent::_tracefirst($text),
3060             q{field},
3061             $tracelevel)
3062             if defined $::RD_TRACE;
3063 15     15   98 if (1) { no strict qw{refs};
  15         31  
  15         3680  
  776         965  
3064 776         2592 $expectation->is(q{fieldname})->at($text);
3065 776 100   776   13298 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldname($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  776         1732  
3066             {
3067            
3068 126 50       318 Parse::RecDescent::_trace(q{<>},
3069             Parse::RecDescent::_tracefirst($text),
3070             q{field},
3071             $tracelevel)
3072             if defined $::RD_TRACE;
3073 126         358 $expectation->failed();
3074 126         1346 last;
3075             }
3076 650 50       2882 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldname]<< (return value: [}
3077             . $_tok . q{]},
3078            
3079             Parse::RecDescent::_tracefirst($text),
3080             q{field},
3081             $tracelevel)
3082             if defined $::RD_TRACE;
3083 650         1464 $item{q{fieldname}} = $_tok;
3084 650         1097 push @item, $_tok;
3085            
3086             }
3087              
3088 650 50       2454 Parse::RecDescent::_trace(q{Trying subrule: [fieldvalue]},
3089             Parse::RecDescent::_tracefirst($text),
3090             q{field},
3091             $tracelevel)
3092             if defined $::RD_TRACE;
3093 15     15   85 if (1) { no strict qw{refs};
  15         34  
  15         14835  
  650         920  
3094 650         2330 $expectation->is(q{fieldvalue})->at($text);
3095 650 100   650   7185 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldvalue($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  650         1391  
3096             {
3097            
3098 70 50       171 Parse::RecDescent::_trace(q{<>},
3099             Parse::RecDescent::_tracefirst($text),
3100             q{field},
3101             $tracelevel)
3102             if defined $::RD_TRACE;
3103 70         222 $expectation->failed();
3104 70         761 last;
3105             }
3106 580 50       2779 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldvalue]<< (return value: [}
3107             . $_tok . q{]},
3108            
3109             Parse::RecDescent::_tracefirst($text),
3110             q{field},
3111             $tracelevel)
3112             if defined $::RD_TRACE;
3113 580         1474 $item{q{fieldvalue}} = $_tok;
3114 580         1238 push @item, $_tok;
3115            
3116             }
3117              
3118 580 50       1504 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
3119             Parse::RecDescent::_tracefirst($text),
3120             q{field},
3121             $tracelevel)
3122             if defined $::RD_TRACE;
3123 580         1001 $lastsep = "";
3124 580         2243 $expectation->is(q{'>>'})->at($text);
3125            
3126              
3127 580 100 33     7180 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  580 50       9141  
3128             {
3129            
3130 0         0 $expectation->failed();
3131 0 0       0 Parse::RecDescent::_trace(qq{<>},
3132             Parse::RecDescent::_tracefirst($text))
3133             if defined $::RD_TRACE;
3134 0         0 last;
3135             }
3136 580 50       1627 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3137             . $& . q{])},
3138             Parse::RecDescent::_tracefirst($text))
3139             if defined $::RD_TRACE;
3140 580         1893 push @item, $item{__STRING2__}=$&;
3141            
3142              
3143 580 50       1453 Parse::RecDescent::_trace(q{Trying action},
3144             Parse::RecDescent::_tracefirst($text),
3145             q{field},
3146             $tracelevel)
3147             if defined $::RD_TRACE;
3148            
3149              
3150 580 50       1195 $_tok = ($_noactions) ? 0 : do {
3151 580         2818 $return = { $item{fieldname} => $item{fieldvalue} };
3152             };
3153 580 50       1637 unless (defined $_tok)
3154             {
3155 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
3156             if defined $::RD_TRACE;
3157 0         0 last;
3158             }
3159 580 50       1790 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3160             . $_tok . q{])},
3161             Parse::RecDescent::_tracefirst($text))
3162             if defined $::RD_TRACE;
3163 580         963 push @item, $_tok;
3164 580         1132 $item{__ACTION1__}=$_tok;
3165            
3166              
3167              
3168 580 50       1210 Parse::RecDescent::_trace(q{>>Matched production: ['<<' fieldname fieldvalue '>>']<<},
3169             Parse::RecDescent::_tracefirst($text),
3170             q{field},
3171             $tracelevel)
3172             if defined $::RD_TRACE;
3173 580         3962 $_matched = 1;
3174 580         1636 last;
3175             }
3176              
3177             splice
3178 870 100       2588 @{$thisparser->{deferred}}, $def_at unless $_matched;
  290         658  
3179            
3180 870   66     2942 while (!$_matched && !$commit)
3181             {
3182            
3183 290 50       624 Parse::RecDescent::_trace(q{Trying production: ['<<' fieldvalue fieldname '>>']},
3184             Parse::RecDescent::_tracefirst($_[1]),
3185             q{field},
3186             $tracelevel)
3187             if defined $::RD_TRACE;
3188 290         606 my $thisprod = $thisrule->{"prods"}[1];
3189 290         565 $text = $_[1];
3190 290         446 my $_savetext;
3191 290         689 @item = (q{field});
3192 290         834 %item = (__RULE__ => q{field});
3193 290         420 my $repcount = 0;
3194              
3195              
3196 290 50       698 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
3197             Parse::RecDescent::_tracefirst($text),
3198             q{field},
3199             $tracelevel)
3200             if defined $::RD_TRACE;
3201 290         462 $lastsep = "";
3202 290         954 $expectation->is(q{})->at($text);
3203            
3204              
3205 290 100 66     3532 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  290 100       4153  
3206             {
3207            
3208 94         354 $expectation->failed();
3209 94 50       481 Parse::RecDescent::_trace(qq{<>},
3210             Parse::RecDescent::_tracefirst($text))
3211             if defined $::RD_TRACE;
3212 94         229 last;
3213             }
3214 196 50       618 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3215             . $& . q{])},
3216             Parse::RecDescent::_tracefirst($text))
3217             if defined $::RD_TRACE;
3218 196         706 push @item, $item{__STRING1__}=$&;
3219            
3220              
3221 196 50       481 Parse::RecDescent::_trace(q{Trying subrule: [fieldvalue]},
3222             Parse::RecDescent::_tracefirst($text),
3223             q{field},
3224             $tracelevel)
3225             if defined $::RD_TRACE;
3226 15     15   232 if (1) { no strict qw{refs};
  15         40  
  15         4058  
  196         260  
3227 196         574 $expectation->is(q{fieldvalue})->at($text);
3228 196 100   196   2343 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldvalue($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  196         5547  
3229             {
3230            
3231 81 50       215 Parse::RecDescent::_trace(q{<>},
3232             Parse::RecDescent::_tracefirst($text),
3233             q{field},
3234             $tracelevel)
3235             if defined $::RD_TRACE;
3236 81         251 $expectation->failed();
3237 81         600 last;
3238             }
3239 115 50       855 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldvalue]<< (return value: [}
3240             . $_tok . q{]},
3241            
3242             Parse::RecDescent::_tracefirst($text),
3243             q{field},
3244             $tracelevel)
3245             if defined $::RD_TRACE;
3246 115         353 $item{q{fieldvalue}} = $_tok;
3247 115         292 push @item, $_tok;
3248            
3249             }
3250              
3251 115 50       305 Parse::RecDescent::_trace(q{Trying subrule: [fieldname]},
3252             Parse::RecDescent::_tracefirst($text),
3253             q{field},
3254             $tracelevel)
3255             if defined $::RD_TRACE;
3256 15     15   102 if (1) { no strict qw{refs};
  15         32  
  15         15100  
  115         134  
3257 115         425 $expectation->is(q{fieldname})->at($text);
3258 115 50   115   1575 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldname($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  115         321  
3259             {
3260            
3261 0 0       0 Parse::RecDescent::_trace(q{<>},
3262             Parse::RecDescent::_tracefirst($text),
3263             q{field},
3264             $tracelevel)
3265             if defined $::RD_TRACE;
3266 0         0 $expectation->failed();
3267 0         0 last;
3268             }
3269 115 50       508 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldname]<< (return value: [}
3270             . $_tok . q{]},
3271            
3272             Parse::RecDescent::_tracefirst($text),
3273             q{field},
3274             $tracelevel)
3275             if defined $::RD_TRACE;
3276 115         281 $item{q{fieldname}} = $_tok;
3277 115         218 push @item, $_tok;
3278            
3279             }
3280              
3281 115 50       288 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
3282             Parse::RecDescent::_tracefirst($text),
3283             q{field},
3284             $tracelevel)
3285             if defined $::RD_TRACE;
3286 115         184 $lastsep = "";
3287 115         433 $expectation->is(q{'>>'})->at($text);
3288            
3289              
3290 115 50 33     1523 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  115 50       1856  
3291             {
3292            
3293 0         0 $expectation->failed();
3294 0 0       0 Parse::RecDescent::_trace(qq{<>},
3295             Parse::RecDescent::_tracefirst($text))
3296             if defined $::RD_TRACE;
3297 0         0 last;
3298             }
3299 115 50       355 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3300             . $& . q{])},
3301             Parse::RecDescent::_tracefirst($text))
3302             if defined $::RD_TRACE;
3303 115         408 push @item, $item{__STRING2__}=$&;
3304            
3305              
3306 115 50       342 Parse::RecDescent::_trace(q{Trying action},
3307             Parse::RecDescent::_tracefirst($text),
3308             q{field},
3309             $tracelevel)
3310             if defined $::RD_TRACE;
3311            
3312              
3313 115 50       235 $_tok = ($_noactions) ? 0 : do {
3314 115         518 $return = { $item{fieldname} => $item{fieldvalue} };
3315             };
3316 115 50       333 unless (defined $_tok)
3317             {
3318 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
3319             if defined $::RD_TRACE;
3320 0         0 last;
3321             }
3322 115 50       346 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3323             . $_tok . q{])},
3324             Parse::RecDescent::_tracefirst($text))
3325             if defined $::RD_TRACE;
3326 115         196 push @item, $_tok;
3327 115         226 $item{__ACTION1__}=$_tok;
3328            
3329              
3330              
3331 115 50       263 Parse::RecDescent::_trace(q{>>Matched production: ['<<' fieldvalue fieldname '>>']<<},
3332             Parse::RecDescent::_tracefirst($text),
3333             q{field},
3334             $tracelevel)
3335             if defined $::RD_TRACE;
3336 115         158 $_matched = 1;
3337 115         342 last;
3338             }
3339              
3340             splice
3341 870 100       2235 @{$thisparser->{deferred}}, $def_at unless $_matched;
  175         508  
3342            
3343 870   66     2668 while (!$_matched && !$commit)
3344             {
3345            
3346 175 50       437 Parse::RecDescent::_trace(q{Trying production: ['<<' fieldname '>>']},
3347             Parse::RecDescent::_tracefirst($_[1]),
3348             q{field},
3349             $tracelevel)
3350             if defined $::RD_TRACE;
3351 175         418 my $thisprod = $thisrule->{"prods"}[2];
3352 175         340 $text = $_[1];
3353 175         264 my $_savetext;
3354 175         461 @item = (q{field});
3355 175         462 %item = (__RULE__ => q{field});
3356 175         256 my $repcount = 0;
3357              
3358              
3359 175 50       381 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
3360             Parse::RecDescent::_tracefirst($text),
3361             q{field},
3362             $tracelevel)
3363             if defined $::RD_TRACE;
3364 175         289 $lastsep = "";
3365 175         514 $expectation->is(q{})->at($text);
3366            
3367              
3368 175 100 66     2071 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  175 100       2480  
3369             {
3370            
3371 94         309 $expectation->failed();
3372 94 50       961 Parse::RecDescent::_trace(qq{<>},
3373             Parse::RecDescent::_tracefirst($text))
3374             if defined $::RD_TRACE;
3375 94         196 last;
3376             }
3377 81 50       657 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3378             . $& . q{])},
3379             Parse::RecDescent::_tracefirst($text))
3380             if defined $::RD_TRACE;
3381 81         297 push @item, $item{__STRING1__}=$&;
3382            
3383              
3384 81 50       214 Parse::RecDescent::_trace(q{Trying subrule: [fieldname]},
3385             Parse::RecDescent::_tracefirst($text),
3386             q{field},
3387             $tracelevel)
3388             if defined $::RD_TRACE;
3389 15     15   100 if (1) { no strict qw{refs};
  15         32  
  15         19935  
  81         110  
3390 81         266 $expectation->is(q{fieldname})->at($text);
3391 81 100   81   992 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldname($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  81         196  
3392             {
3393            
3394 11 50       50 Parse::RecDescent::_trace(q{<>},
3395             Parse::RecDescent::_tracefirst($text),
3396             q{field},
3397             $tracelevel)
3398             if defined $::RD_TRACE;
3399 11         43 $expectation->failed();
3400 11         85 last;
3401             }
3402 70 50       362 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldname]<< (return value: [}
3403             . $_tok . q{]},
3404            
3405             Parse::RecDescent::_tracefirst($text),
3406             q{field},
3407             $tracelevel)
3408             if defined $::RD_TRACE;
3409 70         174 $item{q{fieldname}} = $_tok;
3410 70         150 push @item, $_tok;
3411            
3412             }
3413              
3414 70 50       169 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
3415             Parse::RecDescent::_tracefirst($text),
3416             q{field},
3417             $tracelevel)
3418             if defined $::RD_TRACE;
3419 70         129 $lastsep = "";
3420 70         245 $expectation->is(q{'>>'})->at($text);
3421            
3422              
3423 70 100 66     1009 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  70 100       970  
3424             {
3425            
3426 66         208 $expectation->failed();
3427 66 50       558 Parse::RecDescent::_trace(qq{<>},
3428             Parse::RecDescent::_tracefirst($text))
3429             if defined $::RD_TRACE;
3430 66         170 last;
3431             }
3432 4 50       24 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3433             . $& . q{])},
3434             Parse::RecDescent::_tracefirst($text))
3435             if defined $::RD_TRACE;
3436 4         16 push @item, $item{__STRING2__}=$&;
3437            
3438              
3439 4 50       17 Parse::RecDescent::_trace(q{Trying action},
3440             Parse::RecDescent::_tracefirst($text),
3441             q{field},
3442             $tracelevel)
3443             if defined $::RD_TRACE;
3444            
3445              
3446 4 50       15 $_tok = ($_noactions) ? 0 : do {
3447 4         28 $return = { $item{fieldname} => undef };
3448             };
3449 4 50       18 unless (defined $_tok)
3450             {
3451 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
3452             if defined $::RD_TRACE;
3453 0         0 last;
3454             }
3455 4 50       26 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3456             . $_tok . q{])},
3457             Parse::RecDescent::_tracefirst($text))
3458             if defined $::RD_TRACE;
3459 4         9 push @item, $_tok;
3460 4         11 $item{__ACTION1__}=$_tok;
3461            
3462              
3463              
3464 4 50       101 Parse::RecDescent::_trace(q{>>Matched production: ['<<' fieldname '>>']<<},
3465             Parse::RecDescent::_tracefirst($text),
3466             q{field},
3467             $tracelevel)
3468             if defined $::RD_TRACE;
3469 4         10 $_matched = 1;
3470 4         11 last;
3471             }
3472              
3473             splice
3474 870 100       2321 @{$thisparser->{deferred}}, $def_at unless $_matched;
  171         427  
3475            
3476 870 50 66     3078 unless ( $_matched || defined($return) || defined($score) )
      66        
3477             {
3478 171         233 splice @{$thisparser->{deferred}}, $def_at;
  171         343  
3479            
3480              
3481 171         341 $_[1] = $text; # NOT SURE THIS IS NEEDED
3482 171 50       416 Parse::RecDescent::_trace(q{<>},
3483             Parse::RecDescent::_tracefirst($_[1]),
3484             q{field},
3485             $tracelevel)
3486             if defined $::RD_TRACE;
3487 171         1777 return undef;
3488             }
3489 699 50 33     1924 if (!defined($return) && defined($score))
3490             {
3491 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3492             q{field},
3493             $tracelevel)
3494             if defined $::RD_TRACE;
3495 0         0 $return = $score_return;
3496             }
3497 699         1039 splice @{$thisparser->{errors}}, $err_at;
  699         1747  
3498 699 50       1710 $return = $item[$#item] unless defined $return;
3499 699 50       3184 if (defined $::RD_TRACE)
3500             {
3501 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3502             $return . q{])}, "",
3503             q{field},
3504             $tracelevel);
3505 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3506             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3507             Parse::RecDescent::_tracefirst($text),
3508             , q{field},
3509             $tracelevel)
3510             }
3511 699         1461 $_[1] = $text;
3512 699         7931 return $return;
3513             }
3514              
3515             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
3516             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::xref
3517             {
3518 17     17   277 my $thisparser = $_[0];
3519 15     15   130 use vars q{$tracelevel};
  15         35  
  15         26481  
3520 17   50     96 local $tracelevel = ($tracelevel||0)+1;
3521 17         50 $ERRORS = 0;
3522 17         59 my $thisrule = $thisparser->{"rules"}{"xref"};
3523            
3524 17 50       63 Parse::RecDescent::_trace(q{Trying rule: [xref]},
3525             Parse::RecDescent::_tracefirst($_[1]),
3526             q{xref},
3527             $tracelevel)
3528             if defined $::RD_TRACE;
3529              
3530 17         32 my $def_at = @{$thisparser->{deferred}};
  17         48  
3531 17         35 my $err_at = @{$thisparser->{errors}};
  17         51  
3532              
3533 17         47 my $score;
3534             my $score_return;
3535 0         0 my $_tok;
3536 17         36 my $return = undef;
3537 17         31 my $_matched=0;
3538 17         33 my $commit=0;
3539 17         46 my @item = ();
3540 17         37 my %item = ();
3541 17   33     101 my $repeating = defined($_[2]) && $_[2];
3542 17   33     151 my $_noactions = defined($_[3]) && $_[3];
3543 17 50       90 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
3544 17 50       88 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3545 17         34 my $text;
3546 17         42 my $lastsep="";
3547 17         69 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
3548 17         577 $expectation->at($_[1]);
3549            
3550 17         72 my $thisline;
3551 17         105 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3552              
3553            
3554              
3555 17   33     243 while (!$_matched && !$commit)
3556             {
3557            
3558 17 50       70 Parse::RecDescent::_trace(q{Trying production: ['xref' /\\d+/ /\\d+/ xrefentry]},
3559             Parse::RecDescent::_tracefirst($_[1]),
3560             q{xref},
3561             $tracelevel)
3562             if defined $::RD_TRACE;
3563 17         55 my $thisprod = $thisrule->{"prods"}[0];
3564 17         35 $text = $_[1];
3565 17         36 my $_savetext;
3566 17         49 @item = (q{xref});
3567 17         66 %item = (__RULE__ => q{xref});
3568 17         51 my $repcount = 0;
3569              
3570              
3571 17 50       79 Parse::RecDescent::_trace(q{Trying terminal: ['xref']},
3572             Parse::RecDescent::_tracefirst($text),
3573             q{xref},
3574             $tracelevel)
3575             if defined $::RD_TRACE;
3576 17         42 $lastsep = "";
3577 17         92 $expectation->is(q{})->at($text);
3578            
3579              
3580 17 50 66     389 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Axref//)
  17 100       279  
3581             {
3582            
3583 15         133 $expectation->failed();
3584 15 50       103 Parse::RecDescent::_trace(qq{<>},
3585             Parse::RecDescent::_tracefirst($text))
3586             if defined $::RD_TRACE;
3587 15         38 last;
3588             }
3589 2 50       8 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3590             . $& . q{])},
3591             Parse::RecDescent::_tracefirst($text))
3592             if defined $::RD_TRACE;
3593 2         7 push @item, $item{__STRING1__}=$&;
3594            
3595              
3596 2 50       9 Parse::RecDescent::_trace(q{Trying terminal: [/\\d+/]}, Parse::RecDescent::_tracefirst($text),
3597             q{xref},
3598             $tracelevel)
3599             if defined $::RD_TRACE;
3600 2         3 $lastsep = "";
3601 2         7 $expectation->is(q{/\\d+/})->at($text);
3602            
3603              
3604 2 50 33     35 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\d+)//)
  2 50       32  
3605             {
3606            
3607 0         0 $expectation->failed();
3608 0 0       0 Parse::RecDescent::_trace(q{<>},
3609             Parse::RecDescent::_tracefirst($text))
3610             if defined $::RD_TRACE;
3611              
3612 0         0 last;
3613             }
3614 2 50       9 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3615             . $& . q{])},
3616             Parse::RecDescent::_tracefirst($text))
3617             if defined $::RD_TRACE;
3618 2         6 push @item, $item{__PATTERN1__}=$&;
3619            
3620              
3621 2 50       85 Parse::RecDescent::_trace(q{Trying terminal: [/\\d+/]}, Parse::RecDescent::_tracefirst($text),
3622             q{xref},
3623             $tracelevel)
3624             if defined $::RD_TRACE;
3625 2         4 $lastsep = "";
3626 2         7 $expectation->is(q{/\\d+/})->at($text);
3627            
3628              
3629 2 50 33     36 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\d+)//)
  2 50       32  
3630             {
3631            
3632 0         0 $expectation->failed();
3633 0 0       0 Parse::RecDescent::_trace(q{<>},
3634             Parse::RecDescent::_tracefirst($text))
3635             if defined $::RD_TRACE;
3636              
3637 0         0 last;
3638             }
3639 2 50       10 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3640             . $& . q{])},
3641             Parse::RecDescent::_tracefirst($text))
3642             if defined $::RD_TRACE;
3643 2         7 push @item, $item{__PATTERN2__}=$&;
3644            
3645              
3646 2 50       7 Parse::RecDescent::_trace(q{Trying repeated subrule: [xrefentry]},
3647             Parse::RecDescent::_tracefirst($text),
3648             q{xref},
3649             $tracelevel)
3650             if defined $::RD_TRACE;
3651 2         8 $expectation->is(q{xrefentry})->at($text);
3652            
3653 2 50       32 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::PDF::FDF::Simple::Grammar::xrefentry, 1, 100000000, $_noactions,$expectation,undef)))
3654             {
3655 0 0       0 Parse::RecDescent::_trace(q{<>},
3656             Parse::RecDescent::_tracefirst($text),
3657             q{xref},
3658             $tracelevel)
3659             if defined $::RD_TRACE;
3660 0         0 last;
3661             }
3662 2 50       29 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [xrefentry]<< (}
3663             . @$_tok . q{ times)},
3664            
3665             Parse::RecDescent::_tracefirst($text),
3666             q{xref},
3667             $tracelevel)
3668             if defined $::RD_TRACE;
3669 2         7 $item{q{xrefentry(s)}} = $_tok;
3670 2         5 push @item, $_tok;
3671            
3672              
3673              
3674              
3675 2 50       6 Parse::RecDescent::_trace(q{>>Matched production: ['xref' /\\d+/ /\\d+/ xrefentry]<<},
3676             Parse::RecDescent::_tracefirst($text),
3677             q{xref},
3678             $tracelevel)
3679             if defined $::RD_TRACE;
3680 2         5 $_matched = 1;
3681 2         5 last;
3682             }
3683              
3684             splice
3685 17 100       75 @{$thisparser->{deferred}}, $def_at unless $_matched;
  15         84  
3686            
3687 17 50 66     200 unless ( $_matched || defined($return) || defined($score) )
      66        
3688             {
3689 15         31 splice @{$thisparser->{deferred}}, $def_at;
  15         38  
3690            
3691              
3692 15         35 $_[1] = $text; # NOT SURE THIS IS NEEDED
3693 15 50       106 Parse::RecDescent::_trace(q{<>},
3694             Parse::RecDescent::_tracefirst($_[1]),
3695             q{xref},
3696             $tracelevel)
3697             if defined $::RD_TRACE;
3698 15         144 return undef;
3699             }
3700 2 50 33     16 if (!defined($return) && defined($score))
3701             {
3702 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3703             q{xref},
3704             $tracelevel)
3705             if defined $::RD_TRACE;
3706 0         0 $return = $score_return;
3707             }
3708 2         6 splice @{$thisparser->{errors}}, $err_at;
  2         7  
3709 2 50       9 $return = $item[$#item] unless defined $return;
3710 2 50       9 if (defined $::RD_TRACE)
3711             {
3712 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3713             $return . q{])}, "",
3714             q{xref},
3715             $tracelevel);
3716 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3717             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3718             Parse::RecDescent::_tracefirst($text),
3719             , q{xref},
3720             $tracelevel)
3721             }
3722 2         5 $_[1] = $text;
3723 2         15 return $return;
3724             }
3725              
3726             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
3727             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::obj
3728             {
3729 38     38   91 my $thisparser = $_[0];
3730 15     15   118 use vars q{$tracelevel};
  15         34  
  15         15533  
3731 38   50     184 local $tracelevel = ($tracelevel||0)+1;
3732 38         86 $ERRORS = 0;
3733 38         124 my $thisrule = $thisparser->{"rules"}{"obj"};
3734            
3735 38 50       117 Parse::RecDescent::_trace(q{Trying rule: [obj]},
3736             Parse::RecDescent::_tracefirst($_[1]),
3737             q{obj},
3738             $tracelevel)
3739             if defined $::RD_TRACE;
3740              
3741 38         65 my $def_at = @{$thisparser->{deferred}};
  38         98  
3742 38         59 my $err_at = @{$thisparser->{errors}};
  38         89  
3743              
3744 38         67 my $score;
3745             my $score_return;
3746 0         0 my $_tok;
3747 38         68 my $return = undef;
3748 38         53 my $_matched=0;
3749 38         62 my $commit=0;
3750 38         82 my @item = ();
3751 38         77 my %item = ();
3752 38   33     160 my $repeating = defined($_[2]) && $_[2];
3753 38   33     163 my $_noactions = defined($_[3]) && $_[3];
3754 38 50       124 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  38         59  
  38         97  
3755 38 50       142 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
3756 38         58 my $text;
3757 38         76 my $lastsep="";
3758 38         147 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
3759 38         1200 $expectation->at($_[1]);
3760            
3761 38         167 my $thisline;
3762 38         188 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
3763              
3764            
3765              
3766 38   33     448 while (!$_matched && !$commit)
3767             {
3768            
3769 38 50       161 Parse::RecDescent::_trace(q{Trying production: [/\\d+/ /\\d+/ 'obj' objbody 'endobj']},
3770             Parse::RecDescent::_tracefirst($_[1]),
3771             q{obj},
3772             $tracelevel)
3773             if defined $::RD_TRACE;
3774 38         103 my $thisprod = $thisrule->{"prods"}[0];
3775 38         85 $text = $_[1];
3776 38         95 my $_savetext;
3777 38         92 @item = (q{obj});
3778 38         106 %item = (__RULE__ => q{obj});
3779 38         68 my $repcount = 0;
3780              
3781              
3782 38 50       139 Parse::RecDescent::_trace(q{Trying terminal: [/\\d+/]}, Parse::RecDescent::_tracefirst($text),
3783             q{obj},
3784             $tracelevel)
3785             if defined $::RD_TRACE;
3786 38         61 $lastsep = "";
3787 38         139 $expectation->is(q{})->at($text);
3788            
3789              
3790 38 100 66     604 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\d+)//)
  38 100       735  
3791             {
3792            
3793 17         73 $expectation->failed();
3794 17 50       425 Parse::RecDescent::_trace(q{<>},
3795             Parse::RecDescent::_tracefirst($text))
3796             if defined $::RD_TRACE;
3797              
3798 17         46 last;
3799             }
3800 21 50       100 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3801             . $& . q{])},
3802             Parse::RecDescent::_tracefirst($text))
3803             if defined $::RD_TRACE;
3804 21         121 push @item, $item{__PATTERN1__}=$&;
3805            
3806              
3807 21 50       74 Parse::RecDescent::_trace(q{Trying terminal: [/\\d+/]}, Parse::RecDescent::_tracefirst($text),
3808             q{obj},
3809             $tracelevel)
3810             if defined $::RD_TRACE;
3811 21         52 $lastsep = "";
3812 21         78 $expectation->is(q{/\\d+/})->at($text);
3813            
3814              
3815 21 50 33     345 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\d+)//)
  21 50       435  
3816             {
3817            
3818 0         0 $expectation->failed();
3819 0 0       0 Parse::RecDescent::_trace(q{<>},
3820             Parse::RecDescent::_tracefirst($text))
3821             if defined $::RD_TRACE;
3822              
3823 0         0 last;
3824             }
3825 21 50       168 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3826             . $& . q{])},
3827             Parse::RecDescent::_tracefirst($text))
3828             if defined $::RD_TRACE;
3829 21         84 push @item, $item{__PATTERN2__}=$&;
3830            
3831              
3832 21 50       78 Parse::RecDescent::_trace(q{Trying terminal: ['obj']},
3833             Parse::RecDescent::_tracefirst($text),
3834             q{obj},
3835             $tracelevel)
3836             if defined $::RD_TRACE;
3837 21         46 $lastsep = "";
3838 21         98 $expectation->is(q{'obj'})->at($text);
3839            
3840              
3841 21 50 33     358 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aobj//)
  21 50       486  
3842             {
3843            
3844 0         0 $expectation->failed();
3845 0 0       0 Parse::RecDescent::_trace(qq{<>},
3846             Parse::RecDescent::_tracefirst($text))
3847             if defined $::RD_TRACE;
3848 0         0 last;
3849             }
3850 21 50       112 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3851             . $& . q{])},
3852             Parse::RecDescent::_tracefirst($text))
3853             if defined $::RD_TRACE;
3854 21         86 push @item, $item{__STRING1__}=$&;
3855            
3856              
3857 21 50       78 Parse::RecDescent::_trace(q{Trying subrule: [objbody]},
3858             Parse::RecDescent::_tracefirst($text),
3859             q{obj},
3860             $tracelevel)
3861             if defined $::RD_TRACE;
3862 15     15   104 if (1) { no strict qw{refs};
  15         38  
  15         15420  
  21         37  
3863 21         80 $expectation->is(q{objbody})->at($text);
3864 21 50   21   289 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::objbody($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  21         62  
3865             {
3866            
3867 0 0       0 Parse::RecDescent::_trace(q{<>},
3868             Parse::RecDescent::_tracefirst($text),
3869             q{obj},
3870             $tracelevel)
3871             if defined $::RD_TRACE;
3872 0         0 $expectation->failed();
3873 0         0 last;
3874             }
3875 21 50       158 Parse::RecDescent::_trace(q{>>Matched subrule: [objbody]<< (return value: [}
3876             . $_tok . q{]},
3877            
3878             Parse::RecDescent::_tracefirst($text),
3879             q{obj},
3880             $tracelevel)
3881             if defined $::RD_TRACE;
3882 21         65 $item{q{objbody}} = $_tok;
3883 21         67 push @item, $_tok;
3884            
3885             }
3886              
3887 21 50       83 Parse::RecDescent::_trace(q{Trying terminal: ['endobj']},
3888             Parse::RecDescent::_tracefirst($text),
3889             q{obj},
3890             $tracelevel)
3891             if defined $::RD_TRACE;
3892 21         56 $lastsep = "";
3893 21         99 $expectation->is(q{'endobj'})->at($text);
3894            
3895              
3896 21 50 33     468 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aendobj//)
  21 50       408  
3897             {
3898            
3899 0         0 $expectation->failed();
3900 0 0       0 Parse::RecDescent::_trace(qq{<>},
3901             Parse::RecDescent::_tracefirst($text))
3902             if defined $::RD_TRACE;
3903 0         0 last;
3904             }
3905 21 50       105 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
3906             . $& . q{])},
3907             Parse::RecDescent::_tracefirst($text))
3908             if defined $::RD_TRACE;
3909 21         115 push @item, $item{__STRING2__}=$&;
3910            
3911              
3912 21 50       86 Parse::RecDescent::_trace(q{Trying action},
3913             Parse::RecDescent::_tracefirst($text),
3914             q{obj},
3915             $tracelevel)
3916             if defined $::RD_TRACE;
3917            
3918              
3919 21 50       88 $_tok = ($_noactions) ? 0 : do {
3920 21         61 $return = $item{objbody};
3921             };
3922 21 50       82 unless (defined $_tok)
3923             {
3924 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
3925             if defined $::RD_TRACE;
3926 0         0 last;
3927             }
3928 21 50       71 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
3929             . $_tok . q{])},
3930             Parse::RecDescent::_tracefirst($text))
3931             if defined $::RD_TRACE;
3932 21         49 push @item, $_tok;
3933 21         55 $item{__ACTION1__}=$_tok;
3934            
3935              
3936              
3937 21 50       158 Parse::RecDescent::_trace(q{>>Matched production: [/\\d+/ /\\d+/ 'obj' objbody 'endobj']<<},
3938             Parse::RecDescent::_tracefirst($text),
3939             q{obj},
3940             $tracelevel)
3941             if defined $::RD_TRACE;
3942 21         37 $_matched = 1;
3943 21         104 last;
3944             }
3945              
3946             splice
3947 38 100       125 @{$thisparser->{deferred}}, $def_at unless $_matched;
  17         47  
3948            
3949 38 50 66     361 unless ( $_matched || defined($return) || defined($score) )
      66        
3950             {
3951 17         33 splice @{$thisparser->{deferred}}, $def_at;
  17         47  
3952            
3953              
3954 17         38 $_[1] = $text; # NOT SURE THIS IS NEEDED
3955 17 50       71 Parse::RecDescent::_trace(q{<>},
3956             Parse::RecDescent::_tracefirst($_[1]),
3957             q{obj},
3958             $tracelevel)
3959             if defined $::RD_TRACE;
3960 17         150 return undef;
3961             }
3962 21 50 33     96 if (!defined($return) && defined($score))
3963             {
3964 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
3965             q{obj},
3966             $tracelevel)
3967             if defined $::RD_TRACE;
3968 0         0 $return = $score_return;
3969             }
3970 21         41 splice @{$thisparser->{errors}}, $err_at;
  21         76  
3971 21 50       75 $return = $item[$#item] unless defined $return;
3972 21 50       78 if (defined $::RD_TRACE)
3973             {
3974 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
3975             $return . q{])}, "",
3976             q{obj},
3977             $tracelevel);
3978 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
3979             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
3980             Parse::RecDescent::_tracefirst($text),
3981             , q{obj},
3982             $tracelevel)
3983             }
3984 21         59 $_[1] = $text;
3985 21         332 return $return;
3986             }
3987              
3988             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
3989             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::objlist
3990             {
3991 38     38   107 my $thisparser = $_[0];
3992 15     15   103 use vars q{$tracelevel};
  15         37  
  15         6592  
3993 38   50     202 local $tracelevel = ($tracelevel||0)+1;
3994 38         71 $ERRORS = 0;
3995 38         122 my $thisrule = $thisparser->{"rules"}{"objlist"};
3996            
3997 38 50       128 Parse::RecDescent::_trace(q{Trying rule: [objlist]},
3998             Parse::RecDescent::_tracefirst($_[1]),
3999             q{objlist},
4000             $tracelevel)
4001             if defined $::RD_TRACE;
4002              
4003 38         62 my $def_at = @{$thisparser->{deferred}};
  38         99  
4004 38         70 my $err_at = @{$thisparser->{errors}};
  38         87  
4005              
4006 38         108 my $score;
4007             my $score_return;
4008 0         0 my $_tok;
4009 38         83 my $return = undef;
4010 38         67 my $_matched=0;
4011 38         78 my $commit=0;
4012 38         83 my @item = ();
4013 38         80 my %item = ();
4014 38   33     199 my $repeating = defined($_[2]) && $_[2];
4015 38   33     209 my $_noactions = defined($_[3]) && $_[3];
4016 38 50       144 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  38         62  
  38         100  
4017 38 50       156 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4018 38         61 my $text;
4019 38         70 my $lastsep="";
4020 38         159 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
4021 38         7247 $expectation->at($_[1]);
4022            
4023 38         161 my $thisline;
4024 38         259 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4025              
4026            
4027              
4028 38   33     483 while (!$_matched && !$commit)
4029             {
4030            
4031 38 50       123 Parse::RecDescent::_trace(q{Trying production: [obj objlist]},
4032             Parse::RecDescent::_tracefirst($_[1]),
4033             q{objlist},
4034             $tracelevel)
4035             if defined $::RD_TRACE;
4036 38         98 my $thisprod = $thisrule->{"prods"}[0];
4037 38         61 $text = $_[1];
4038 38         66 my $_savetext;
4039 38         102 @item = (q{objlist});
4040 38         126 %item = (__RULE__ => q{objlist});
4041 38         70 my $repcount = 0;
4042              
4043              
4044 38 50       125 Parse::RecDescent::_trace(q{Trying subrule: [obj]},
4045             Parse::RecDescent::_tracefirst($text),
4046             q{objlist},
4047             $tracelevel)
4048             if defined $::RD_TRACE;
4049 15     15   103 if (1) { no strict qw{refs};
  15         45  
  15         3305  
  38         61  
4050 38         145 $expectation->is(q{})->at($text);
4051 38 100   38   481 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::obj($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  38         108  
4052             {
4053            
4054 17 50       66 Parse::RecDescent::_trace(q{<>},
4055             Parse::RecDescent::_tracefirst($text),
4056             q{objlist},
4057             $tracelevel)
4058             if defined $::RD_TRACE;
4059 17         69 $expectation->failed();
4060 17         72 last;
4061             }
4062 21 50       148 Parse::RecDescent::_trace(q{>>Matched subrule: [obj]<< (return value: [}
4063             . $_tok . q{]},
4064            
4065             Parse::RecDescent::_tracefirst($text),
4066             q{objlist},
4067             $tracelevel)
4068             if defined $::RD_TRACE;
4069 21         73 $item{q{obj}} = $_tok;
4070 21         56 push @item, $_tok;
4071            
4072             }
4073              
4074 21 50       76 Parse::RecDescent::_trace(q{Trying subrule: [objlist]},
4075             Parse::RecDescent::_tracefirst($text),
4076             q{objlist},
4077             $tracelevel)
4078             if defined $::RD_TRACE;
4079 15     15   79 if (1) { no strict qw{refs};
  15         38  
  15         18298  
  21         37  
4080 21         96 $expectation->is(q{objlist})->at($text);
4081 21 50   21   623 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::objlist($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  21         71  
4082             {
4083            
4084 0 0       0 Parse::RecDescent::_trace(q{<>},
4085             Parse::RecDescent::_tracefirst($text),
4086             q{objlist},
4087             $tracelevel)
4088             if defined $::RD_TRACE;
4089 0         0 $expectation->failed();
4090 0         0 last;
4091             }
4092 21 50       104 Parse::RecDescent::_trace(q{>>Matched subrule: [objlist]<< (return value: [}
4093             . $_tok . q{]},
4094            
4095             Parse::RecDescent::_tracefirst($text),
4096             q{objlist},
4097             $tracelevel)
4098             if defined $::RD_TRACE;
4099 21         57 $item{q{objlist}} = $_tok;
4100 21         45 push @item, $_tok;
4101            
4102             }
4103              
4104 21 50       84 Parse::RecDescent::_trace(q{Trying action},
4105             Parse::RecDescent::_tracefirst($text),
4106             q{objlist},
4107             $tracelevel)
4108             if defined $::RD_TRACE;
4109            
4110              
4111 21 50       83 $_tok = ($_noactions) ? 0 : do {
4112 21         34 push ( @{$return}, $item{obj}, @{$item{objlist}} );
  21         77  
  21         75  
4113             };
4114 21 50       107 unless (defined $_tok)
4115             {
4116 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4117             if defined $::RD_TRACE;
4118 0         0 last;
4119             }
4120 21 50       79 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4121             . $_tok . q{])},
4122             Parse::RecDescent::_tracefirst($text))
4123             if defined $::RD_TRACE;
4124 21         48 push @item, $_tok;
4125 21         65 $item{__ACTION1__}=$_tok;
4126            
4127              
4128              
4129 21 50       141 Parse::RecDescent::_trace(q{>>Matched production: [obj objlist]<<},
4130             Parse::RecDescent::_tracefirst($text),
4131             q{objlist},
4132             $tracelevel)
4133             if defined $::RD_TRACE;
4134 21         39 $_matched = 1;
4135 21         44 last;
4136             }
4137              
4138             splice
4139 38 100       144 @{$thisparser->{deferred}}, $def_at unless $_matched;
  17         53  
4140            
4141 38   66     170 while (!$_matched && !$commit)
4142             {
4143            
4144 17 50       60 Parse::RecDescent::_trace(q{Trying production: []},
4145             Parse::RecDescent::_tracefirst($_[1]),
4146             q{objlist},
4147             $tracelevel)
4148             if defined $::RD_TRACE;
4149 17         45 my $thisprod = $thisrule->{"prods"}[1];
4150 17         39 $text = $_[1];
4151 17         34 my $_savetext;
4152 17         53 @item = (q{objlist});
4153 17         62 %item = (__RULE__ => q{objlist});
4154 17         32 my $repcount = 0;
4155              
4156              
4157 17 50       67 Parse::RecDescent::_trace(q{Trying action},
4158             Parse::RecDescent::_tracefirst($text),
4159             q{objlist},
4160             $tracelevel)
4161             if defined $::RD_TRACE;
4162            
4163              
4164 17 50       72 $_tok = ($_noactions) ? 0 : do {
4165 17         48 $return = [];
4166             };
4167 17 50       88 unless (defined $_tok)
4168             {
4169 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4170             if defined $::RD_TRACE;
4171 0         0 last;
4172             }
4173 17 50       74 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4174             . $_tok . q{])},
4175             Parse::RecDescent::_tracefirst($text))
4176             if defined $::RD_TRACE;
4177 17         119 push @item, $_tok;
4178 17         38 $item{__ACTION1__}=$_tok;
4179            
4180              
4181              
4182 17 50       66 Parse::RecDescent::_trace(q{>>Matched production: []<<},
4183             Parse::RecDescent::_tracefirst($text),
4184             q{objlist},
4185             $tracelevel)
4186             if defined $::RD_TRACE;
4187 17         72 $_matched = 1;
4188 17         75 last;
4189             }
4190              
4191             splice
4192 38 50       122 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
4193            
4194 38 0 33     132 unless ( $_matched || defined($return) || defined($score) )
      33        
4195             {
4196 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
4197            
4198              
4199 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
4200 0 0       0 Parse::RecDescent::_trace(q{<>},
4201             Parse::RecDescent::_tracefirst($_[1]),
4202             q{objlist},
4203             $tracelevel)
4204             if defined $::RD_TRACE;
4205 0         0 return undef;
4206             }
4207 38 50 33     146 if (!defined($return) && defined($score))
4208             {
4209 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4210             q{objlist},
4211             $tracelevel)
4212             if defined $::RD_TRACE;
4213 0         0 $return = $score_return;
4214             }
4215 38         92 splice @{$thisparser->{errors}}, $err_at;
  38         89  
4216 38 50       104 $return = $item[$#item] unless defined $return;
4217 38 50       100 if (defined $::RD_TRACE)
4218             {
4219 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4220             $return . q{])}, "",
4221             q{objlist},
4222             $tracelevel);
4223 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4224             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4225             Parse::RecDescent::_tracefirst($text),
4226             , q{objlist},
4227             $tracelevel)
4228             }
4229 38         75 $_[1] = $text;
4230 38         383 return $return;
4231             }
4232              
4233             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
4234             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::value
4235             {
4236 2666     2666   4114 my $thisparser = $_[0];
4237 15     15   103 use vars q{$tracelevel};
  15         33  
  15         6557  
4238 2666   50     7416 local $tracelevel = ($tracelevel||0)+1;
4239 2666         3623 $ERRORS = 0;
4240 2666         5769 my $thisrule = $thisparser->{"rules"}{"value"};
4241            
4242 2666 50       5580 Parse::RecDescent::_trace(q{Trying rule: [value]},
4243             Parse::RecDescent::_tracefirst($_[1]),
4244             q{value},
4245             $tracelevel)
4246             if defined $::RD_TRACE;
4247              
4248 2666         2718 my $def_at = @{$thisparser->{deferred}};
  2666         6107  
4249 2666         3405 my $err_at = @{$thisparser->{errors}};
  2666         4303  
4250              
4251 2666         3362 my $score;
4252             my $score_return;
4253 0         0 my $_tok;
4254 2666         3053 my $return = undef;
4255 2666         3392 my $_matched=0;
4256 2666         3302 my $commit=0;
4257 2666         4153 my @item = ();
4258 2666         4334 my %item = ();
4259 2666   33     8662 my $repeating = defined($_[2]) && $_[2];
4260 2666   33     6718 my $_noactions = defined($_[3]) && $_[3];
4261 2666 50       5613 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  2666         8488  
  2666         4996  
4262 2666 50       8026 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4263 2666         3325 my $text;
4264 2666         3668 my $lastsep="";
4265 2666         10039 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
4266 2666         120012 $expectation->at($_[1]);
4267            
4268 2666         10978 my $thisline;
4269 2666         14054 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4270              
4271            
4272              
4273 2666   33     26804 while (!$_matched && !$commit)
4274             {
4275            
4276 2666 50       5703 Parse::RecDescent::_trace(q{Trying production: [valuechar value]},
4277             Parse::RecDescent::_tracefirst($_[1]),
4278             q{value},
4279             $tracelevel)
4280             if defined $::RD_TRACE;
4281 2666         4598 my $thisprod = $thisrule->{"prods"}[0];
4282 2666         3869 $text = $_[1];
4283 2666         2704 my $_savetext;
4284 2666         4659 @item = (q{value});
4285 2666         5679 %item = (__RULE__ => q{value});
4286 2666         3501 my $repcount = 0;
4287              
4288              
4289 2666 50       5322 Parse::RecDescent::_trace(q{Trying subrule: [valuechar]},
4290             Parse::RecDescent::_tracefirst($text),
4291             q{value},
4292             $tracelevel)
4293             if defined $::RD_TRACE;
4294 15     15   162 if (1) { no strict qw{refs};
  15         33  
  15         3205  
  2666         2623  
4295 2666         7052 $expectation->is(q{})->at($text);
4296 2666 100   155   26932 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::valuechar($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  2666         5433  
4297             {
4298            
4299 542 50       1331 Parse::RecDescent::_trace(q{<>},
4300             Parse::RecDescent::_tracefirst($text),
4301             q{value},
4302             $tracelevel)
4303             if defined $::RD_TRACE;
4304 542         1665 $expectation->failed();
4305 542         2214 last;
4306             }
4307 2124 50       9464 Parse::RecDescent::_trace(q{>>Matched subrule: [valuechar]<< (return value: [}
4308             . $_tok . q{]},
4309            
4310             Parse::RecDescent::_tracefirst($text),
4311             q{value},
4312             $tracelevel)
4313             if defined $::RD_TRACE;
4314 2124         4328 $item{q{valuechar}} = $_tok;
4315 2124         3530 push @item, $_tok;
4316            
4317             }
4318              
4319 2124 50       5057 Parse::RecDescent::_trace(q{Trying subrule: [value]},
4320             Parse::RecDescent::_tracefirst($text),
4321             q{value},
4322             $tracelevel)
4323             if defined $::RD_TRACE;
4324 15     15   96 if (1) { no strict qw{refs};
  15         30  
  15         16133  
  2124         2127  
4325 2124         6702 $expectation->is(q{value})->at($text);
4326 2124 50   106   111744 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::value($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  2124         4903  
4327             {
4328            
4329 0 0       0 Parse::RecDescent::_trace(q{<>},
4330             Parse::RecDescent::_tracefirst($text),
4331             q{value},
4332             $tracelevel)
4333             if defined $::RD_TRACE;
4334 0         0 $expectation->failed();
4335 0         0 last;
4336             }
4337 2124 50       19103 Parse::RecDescent::_trace(q{>>Matched subrule: [value]<< (return value: [}
4338             . $_tok . q{]},
4339            
4340             Parse::RecDescent::_tracefirst($text),
4341             q{value},
4342             $tracelevel)
4343             if defined $::RD_TRACE;
4344 2124         4410 $item{q{value}} = $_tok;
4345 2124         3536 push @item, $_tok;
4346            
4347             }
4348              
4349 2124 50       3974 Parse::RecDescent::_trace(q{Trying action},
4350             Parse::RecDescent::_tracefirst($text),
4351             q{value},
4352             $tracelevel)
4353             if defined $::RD_TRACE;
4354            
4355              
4356 2124 50       3686 $_tok = ($_noactions) ? 0 : do {
4357 2124         6469 $return = $item{valuechar}.$item{value};
4358             };
4359 2124 50       4736 unless (defined $_tok)
4360             {
4361 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4362             if defined $::RD_TRACE;
4363 0         0 last;
4364             }
4365 2124 50       4197 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4366             . $_tok . q{])},
4367             Parse::RecDescent::_tracefirst($text))
4368             if defined $::RD_TRACE;
4369 2124         3487 push @item, $_tok;
4370 2124         3414 $item{__ACTION1__}=$_tok;
4371            
4372              
4373              
4374 2124 50       4207 Parse::RecDescent::_trace(q{>>Matched production: [valuechar value]<<},
4375             Parse::RecDescent::_tracefirst($text),
4376             q{value},
4377             $tracelevel)
4378             if defined $::RD_TRACE;
4379 2124         2333 $_matched = 1;
4380 2124         3509 last;
4381             }
4382              
4383             splice
4384 2666 100       6447 @{$thisparser->{deferred}}, $def_at unless $_matched;
  542         1225  
4385            
4386 2666   66     6581 while (!$_matched && !$commit)
4387             {
4388            
4389 542 50       1363 Parse::RecDescent::_trace(q{Trying production: []},
4390             Parse::RecDescent::_tracefirst($_[1]),
4391             q{value},
4392             $tracelevel)
4393             if defined $::RD_TRACE;
4394 542         1252 my $thisprod = $thisrule->{"prods"}[1];
4395 542         1038 $text = $_[1];
4396 542         781 my $_savetext;
4397 542         1229 @item = (q{value});
4398 542         1932 %item = (__RULE__ => q{value});
4399 542         775 my $repcount = 0;
4400              
4401              
4402 542 50       1208 Parse::RecDescent::_trace(q{Trying action},
4403             Parse::RecDescent::_tracefirst($text),
4404             q{value},
4405             $tracelevel)
4406             if defined $::RD_TRACE;
4407            
4408              
4409 542 50       1251 $_tok = ($_noactions) ? 0 : do {
4410 542         1316 $return = "";
4411             };
4412 542 50       1479 unless (defined $_tok)
4413             {
4414 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4415             if defined $::RD_TRACE;
4416 0         0 last;
4417             }
4418 542 50       1364 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4419             . $_tok . q{])},
4420             Parse::RecDescent::_tracefirst($text))
4421             if defined $::RD_TRACE;
4422 542         1103 push @item, $_tok;
4423 542         1295 $item{__ACTION1__}=$_tok;
4424            
4425              
4426              
4427 542 50       1354 Parse::RecDescent::_trace(q{>>Matched production: []<<},
4428             Parse::RecDescent::_tracefirst($text),
4429             q{value},
4430             $tracelevel)
4431             if defined $::RD_TRACE;
4432 542         726 $_matched = 1;
4433 542         928 last;
4434             }
4435              
4436             splice
4437 2666 50       4835 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
4438            
4439 2666 0 33     6991 unless ( $_matched || defined($return) || defined($score) )
      33        
4440             {
4441 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
4442            
4443              
4444 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
4445 0 0       0 Parse::RecDescent::_trace(q{<>},
4446             Parse::RecDescent::_tracefirst($_[1]),
4447             q{value},
4448             $tracelevel)
4449             if defined $::RD_TRACE;
4450 0         0 return undef;
4451             }
4452 2666 50 33     6071 if (!defined($return) && defined($score))
4453             {
4454 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4455             q{value},
4456             $tracelevel)
4457             if defined $::RD_TRACE;
4458 0         0 $return = $score_return;
4459             }
4460 2666         2759 splice @{$thisparser->{errors}}, $err_at;
  2666         5113  
4461 2666 50       5571 $return = $item[$#item] unless defined $return;
4462 2666 50       5023 if (defined $::RD_TRACE)
4463             {
4464 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4465             $return . q{])}, "",
4466             q{value},
4467             $tracelevel);
4468 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4469             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4470             Parse::RecDescent::_tracefirst($text),
4471             , q{value},
4472             $tracelevel)
4473             }
4474 2666         6248 $_[1] = $text;
4475 2666         32107 return $return;
4476             }
4477              
4478             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
4479             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::name
4480             {
4481 912     912   1459 my $thisparser = $_[0];
4482 15     15   117 use vars q{$tracelevel};
  15         50  
  15         15073  
4483 912   50     3406 local $tracelevel = ($tracelevel||0)+1;
4484 912         1227 $ERRORS = 0;
4485 912         3745 my $thisrule = $thisparser->{"rules"}{"name"};
4486            
4487 912 50       2137 Parse::RecDescent::_trace(q{Trying rule: [name]},
4488             Parse::RecDescent::_tracefirst($_[1]),
4489             q{name},
4490             $tracelevel)
4491             if defined $::RD_TRACE;
4492              
4493 912         1019 my $def_at = @{$thisparser->{deferred}};
  912         1926  
4494 912         1208 my $err_at = @{$thisparser->{errors}};
  912         1622  
4495              
4496 912         1264 my $score;
4497             my $score_return;
4498 0         0 my $_tok;
4499 912         1107 my $return = undef;
4500 912         1627 my $_matched=0;
4501 912         1160 my $commit=0;
4502 912         1609 my @item = ();
4503 912         1342 my %item = ();
4504 912   33     2980 my $repeating = defined($_[2]) && $_[2];
4505 912   33     2634 my $_noactions = defined($_[3]) && $_[3];
4506 912 50       2089 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  912         1179  
  912         2622  
4507 912 50       2719 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4508 912         1048 my $text;
4509 912         1584 my $lastsep="";
4510 912         2743 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
4511 912         28963 $expectation->at($_[1]);
4512            
4513 912         3645 my $thisline;
4514 912         8245 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4515              
4516            
4517              
4518 912   33     9476 while (!$_matched && !$commit)
4519             {
4520            
4521 912 50       2037 Parse::RecDescent::_trace(q{Trying production: [/([^)][\\s]*)*/]},
4522             Parse::RecDescent::_tracefirst($_[1]),
4523             q{name},
4524             $tracelevel)
4525             if defined $::RD_TRACE;
4526 912         1799 my $thisprod = $thisrule->{"prods"}[0];
4527 912         1336 $text = $_[1];
4528 912         1119 my $_savetext;
4529 912         1706 @item = (q{name});
4530 912         2297 %item = (__RULE__ => q{name});
4531 912         1162 my $repcount = 0;
4532              
4533              
4534 912 50       2276 Parse::RecDescent::_trace(q{Trying terminal: [/([^)][\\s]*)*/]}, Parse::RecDescent::_tracefirst($text),
4535             q{name},
4536             $tracelevel)
4537             if defined $::RD_TRACE;
4538 912         1384 $lastsep = "";
4539 912         2550 $expectation->is(q{})->at($text);
4540            
4541              
4542 912 50 33     10817 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:([^)][\s]*)*)//)
  912 50       26479  
4543             {
4544            
4545 0         0 $expectation->failed();
4546 0 0       0 Parse::RecDescent::_trace(q{<>},
4547             Parse::RecDescent::_tracefirst($text))
4548             if defined $::RD_TRACE;
4549              
4550 0         0 last;
4551             }
4552 912 50       2656 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4553             . $& . q{])},
4554             Parse::RecDescent::_tracefirst($text))
4555             if defined $::RD_TRACE;
4556 912         3129 push @item, $item{__PATTERN1__}=$&;
4557            
4558              
4559              
4560 912 50       2013 Parse::RecDescent::_trace(q{>>Matched production: [/([^)][\\s]*)*/]<<},
4561             Parse::RecDescent::_tracefirst($text),
4562             q{name},
4563             $tracelevel)
4564             if defined $::RD_TRACE;
4565 912         1251 $_matched = 1;
4566 912         1899 last;
4567             }
4568              
4569             splice
4570 912 50       2087 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
4571            
4572 912 0 33     2365 unless ( $_matched || defined($return) || defined($score) )
      33        
4573             {
4574 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
4575            
4576              
4577 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
4578 0 0       0 Parse::RecDescent::_trace(q{<>},
4579             Parse::RecDescent::_tracefirst($_[1]),
4580             q{name},
4581             $tracelevel)
4582             if defined $::RD_TRACE;
4583 0         0 return undef;
4584             }
4585 912 50 33     4202 if (!defined($return) && defined($score))
4586             {
4587 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4588             q{name},
4589             $tracelevel)
4590             if defined $::RD_TRACE;
4591 0         0 $return = $score_return;
4592             }
4593 912         1172 splice @{$thisparser->{errors}}, $err_at;
  912         1964  
4594 912 50       2740 $return = $item[$#item] unless defined $return;
4595 912 50       2178 if (defined $::RD_TRACE)
4596             {
4597 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4598             $return . q{])}, "",
4599             q{name},
4600             $tracelevel);
4601 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4602             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4603             Parse::RecDescent::_tracefirst($text),
4604             , q{name},
4605             $tracelevel)
4606             }
4607 912         1579 $_[1] = $text;
4608 912         7762 return $return;
4609             }
4610              
4611             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
4612             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::stream
4613             {
4614 0     0   0 my $thisparser = $_[0];
4615 15     15   104 use vars q{$tracelevel};
  15         32  
  15         9389  
4616 0   0     0 local $tracelevel = ($tracelevel||0)+1;
4617 0         0 $ERRORS = 0;
4618 0         0 my $thisrule = $thisparser->{"rules"}{"stream"};
4619            
4620 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [stream]},
4621             Parse::RecDescent::_tracefirst($_[1]),
4622             q{stream},
4623             $tracelevel)
4624             if defined $::RD_TRACE;
4625              
4626 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
4627 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
4628              
4629 0         0 my $score;
4630             my $score_return;
4631 0         0 my $_tok;
4632 0         0 my $return = undef;
4633 0         0 my $_matched=0;
4634 0         0 my $commit=0;
4635 0         0 my @item = ();
4636 0         0 my %item = ();
4637 0   0     0 my $repeating = defined($_[2]) && $_[2];
4638 0   0     0 my $_noactions = defined($_[3]) && $_[3];
4639 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
4640 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4641 0         0 my $text;
4642 0         0 my $lastsep="";
4643 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
4644 0         0 $expectation->at($_[1]);
4645            
4646 0         0 my $thisline;
4647 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4648              
4649            
4650              
4651 0   0     0 while (!$_matched && !$commit)
4652             {
4653            
4654 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['stream' streamcont 'endstream']},
4655             Parse::RecDescent::_tracefirst($_[1]),
4656             q{stream},
4657             $tracelevel)
4658             if defined $::RD_TRACE;
4659 0         0 my $thisprod = $thisrule->{"prods"}[0];
4660 0         0 $text = $_[1];
4661 0         0 my $_savetext;
4662 0         0 @item = (q{stream});
4663 0         0 %item = (__RULE__ => q{stream});
4664 0         0 my $repcount = 0;
4665              
4666              
4667 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['stream']},
4668             Parse::RecDescent::_tracefirst($text),
4669             q{stream},
4670             $tracelevel)
4671             if defined $::RD_TRACE;
4672 0         0 $lastsep = "";
4673 0         0 $expectation->is(q{})->at($text);
4674            
4675              
4676 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Astream//)
  0 0       0  
4677             {
4678            
4679 0         0 $expectation->failed();
4680 0 0       0 Parse::RecDescent::_trace(qq{<>},
4681             Parse::RecDescent::_tracefirst($text))
4682             if defined $::RD_TRACE;
4683 0         0 last;
4684             }
4685 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4686             . $& . q{])},
4687             Parse::RecDescent::_tracefirst($text))
4688             if defined $::RD_TRACE;
4689 0         0 push @item, $item{__STRING1__}=$&;
4690            
4691              
4692 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [streamcont]},
4693             Parse::RecDescent::_tracefirst($text),
4694             q{stream},
4695             $tracelevel)
4696             if defined $::RD_TRACE;
4697 15     15   109 if (1) { no strict qw{refs};
  15         32  
  15         19353  
  0         0  
4698 0         0 $expectation->is(q{streamcont})->at($text);
4699 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::streamcont($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
4700             {
4701            
4702 0 0       0 Parse::RecDescent::_trace(q{<>},
4703             Parse::RecDescent::_tracefirst($text),
4704             q{stream},
4705             $tracelevel)
4706             if defined $::RD_TRACE;
4707 0         0 $expectation->failed();
4708 0         0 last;
4709             }
4710 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [streamcont]<< (return value: [}
4711             . $_tok . q{]},
4712            
4713             Parse::RecDescent::_tracefirst($text),
4714             q{stream},
4715             $tracelevel)
4716             if defined $::RD_TRACE;
4717 0         0 $item{q{streamcont}} = $_tok;
4718 0         0 push @item, $_tok;
4719            
4720             }
4721              
4722 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['endstream']},
4723             Parse::RecDescent::_tracefirst($text),
4724             q{stream},
4725             $tracelevel)
4726             if defined $::RD_TRACE;
4727 0         0 $lastsep = "";
4728 0         0 $expectation->is(q{'endstream'})->at($text);
4729            
4730              
4731 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aendstream//)
  0 0       0  
4732             {
4733            
4734 0         0 $expectation->failed();
4735 0 0       0 Parse::RecDescent::_trace(qq{<>},
4736             Parse::RecDescent::_tracefirst($text))
4737             if defined $::RD_TRACE;
4738 0         0 last;
4739             }
4740 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4741             . $& . q{])},
4742             Parse::RecDescent::_tracefirst($text))
4743             if defined $::RD_TRACE;
4744 0         0 push @item, $item{__STRING2__}=$&;
4745            
4746              
4747 0 0       0 Parse::RecDescent::_trace(q{Trying action},
4748             Parse::RecDescent::_tracefirst($text),
4749             q{stream},
4750             $tracelevel)
4751             if defined $::RD_TRACE;
4752            
4753              
4754 0 0       0 $_tok = ($_noactions) ? 0 : do {
4755 0         0 $return = $item[2];
4756 0         0 1;
4757             };
4758 0 0       0 unless (defined $_tok)
4759             {
4760 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4761             if defined $::RD_TRACE;
4762 0         0 last;
4763             }
4764 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
4765             . $_tok . q{])},
4766             Parse::RecDescent::_tracefirst($text))
4767             if defined $::RD_TRACE;
4768 0         0 push @item, $_tok;
4769 0         0 $item{__ACTION1__}=$_tok;
4770            
4771              
4772              
4773 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['stream' streamcont 'endstream']<<},
4774             Parse::RecDescent::_tracefirst($text),
4775             q{stream},
4776             $tracelevel)
4777             if defined $::RD_TRACE;
4778 0         0 $_matched = 1;
4779 0         0 last;
4780             }
4781              
4782             splice
4783 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
4784            
4785 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
4786             {
4787 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
4788            
4789              
4790 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
4791 0 0       0 Parse::RecDescent::_trace(q{<>},
4792             Parse::RecDescent::_tracefirst($_[1]),
4793             q{stream},
4794             $tracelevel)
4795             if defined $::RD_TRACE;
4796 0         0 return undef;
4797             }
4798 0 0 0     0 if (!defined($return) && defined($score))
4799             {
4800 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
4801             q{stream},
4802             $tracelevel)
4803             if defined $::RD_TRACE;
4804 0         0 $return = $score_return;
4805             }
4806 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
4807 0 0       0 $return = $item[$#item] unless defined $return;
4808 0 0       0 if (defined $::RD_TRACE)
4809             {
4810 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
4811             $return . q{])}, "",
4812             q{stream},
4813             $tracelevel);
4814 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
4815             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
4816             Parse::RecDescent::_tracefirst($text),
4817             , q{stream},
4818             $tracelevel)
4819             }
4820 0         0 $_[1] = $text;
4821 0         0 return $return;
4822             }
4823              
4824             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
4825             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::kids
4826             {
4827 77     77   154 my $thisparser = $_[0];
4828 15     15   105 use vars q{$tracelevel};
  15         39  
  15         11771  
4829 77   50     260 local $tracelevel = ($tracelevel||0)+1;
4830 77         119 $ERRORS = 0;
4831 77         228 my $thisrule = $thisparser->{"rules"}{"kids"};
4832            
4833 77 50       196 Parse::RecDescent::_trace(q{Trying rule: [kids]},
4834             Parse::RecDescent::_tracefirst($_[1]),
4835             q{kids},
4836             $tracelevel)
4837             if defined $::RD_TRACE;
4838              
4839 77         108 my $def_at = @{$thisparser->{deferred}};
  77         227  
4840 77         111 my $err_at = @{$thisparser->{errors}};
  77         1168  
4841              
4842 77         116 my $score;
4843             my $score_return;
4844 0         0 my $_tok;
4845 77         109 my $return = undef;
4846 77         166 my $_matched=0;
4847 77         1186 my $commit=0;
4848 77         164 my @item = ();
4849 77         134 my %item = ();
4850 77   33     310 my $repeating = defined($_[2]) && $_[2];
4851 77   33     300 my $_noactions = defined($_[3]) && $_[3];
4852 77 50       208 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  77         97  
  77         177  
4853 77 50       316 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
4854 77         109 my $text;
4855 77         128 my $lastsep="";
4856 77         279 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
4857 77         2725 $expectation->at($_[1]);
4858            
4859 77         343 my $thisline;
4860 77         418 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
4861              
4862            
4863              
4864 77   33     953 while (!$_matched && !$commit)
4865             {
4866            
4867 77 50       222 Parse::RecDescent::_trace(q{Trying production: ['/Kids' '[' fieldlist ']']},
4868             Parse::RecDescent::_tracefirst($_[1]),
4869             q{kids},
4870             $tracelevel)
4871             if defined $::RD_TRACE;
4872 77         209 my $thisprod = $thisrule->{"prods"}[0];
4873 77         213 $text = $_[1];
4874 77         103 my $_savetext;
4875 77         186 @item = (q{kids});
4876 77         210 %item = (__RULE__ => q{kids});
4877 77         123 my $repcount = 0;
4878              
4879              
4880 77 50       326 Parse::RecDescent::_trace(q{Trying terminal: ['/Kids']},
4881             Parse::RecDescent::_tracefirst($text),
4882             q{kids},
4883             $tracelevel)
4884             if defined $::RD_TRACE;
4885 77         126 $lastsep = "";
4886 77         246 $expectation->is(q{})->at($text);
4887            
4888              
4889 77 100 33     1060 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/Kids//)
  77 50       1341  
4890             {
4891            
4892 0         0 $expectation->failed();
4893 0 0       0 Parse::RecDescent::_trace(qq{<>},
4894             Parse::RecDescent::_tracefirst($text))
4895             if defined $::RD_TRACE;
4896 0         0 last;
4897             }
4898 77 50       280 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4899             . $& . q{])},
4900             Parse::RecDescent::_tracefirst($text))
4901             if defined $::RD_TRACE;
4902 77         265 push @item, $item{__STRING1__}=$&;
4903            
4904              
4905 77 50       214 Parse::RecDescent::_trace(q{Trying terminal: ['[']},
4906             Parse::RecDescent::_tracefirst($text),
4907             q{kids},
4908             $tracelevel)
4909             if defined $::RD_TRACE;
4910 77         134 $lastsep = "";
4911 77         250 $expectation->is(q{'['})->at($text);
4912            
4913              
4914 77 100 33     968 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\[//)
  77 50       1170  
4915             {
4916            
4917 0         0 $expectation->failed();
4918 0 0       0 Parse::RecDescent::_trace(qq{<>},
4919             Parse::RecDescent::_tracefirst($text))
4920             if defined $::RD_TRACE;
4921 0         0 last;
4922             }
4923 77 50       255 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4924             . $& . q{])},
4925             Parse::RecDescent::_tracefirst($text))
4926             if defined $::RD_TRACE;
4927 77         266 push @item, $item{__STRING2__}=$&;
4928            
4929              
4930 77 50       212 Parse::RecDescent::_trace(q{Trying subrule: [fieldlist]},
4931             Parse::RecDescent::_tracefirst($text),
4932             q{kids},
4933             $tracelevel)
4934             if defined $::RD_TRACE;
4935 15     15   97 if (1) { no strict qw{refs};
  15         32  
  15         14242  
  77         101  
4936 77         279 $expectation->is(q{fieldlist})->at($text);
4937 77 50   77   1483 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldlist($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  77         199  
4938             {
4939            
4940 0 0       0 Parse::RecDescent::_trace(q{<>},
4941             Parse::RecDescent::_tracefirst($text),
4942             q{kids},
4943             $tracelevel)
4944             if defined $::RD_TRACE;
4945 0         0 $expectation->failed();
4946 0         0 last;
4947             }
4948 77 50       561 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldlist]<< (return value: [}
4949             . $_tok . q{]},
4950            
4951             Parse::RecDescent::_tracefirst($text),
4952             q{kids},
4953             $tracelevel)
4954             if defined $::RD_TRACE;
4955 77         215 $item{q{fieldlist}} = $_tok;
4956 77         156 push @item, $_tok;
4957            
4958             }
4959              
4960 77 50       229 Parse::RecDescent::_trace(q{Trying terminal: [']']},
4961             Parse::RecDescent::_tracefirst($text),
4962             q{kids},
4963             $tracelevel)
4964             if defined $::RD_TRACE;
4965 77         163 $lastsep = "";
4966 77         310 $expectation->is(q{']'})->at($text);
4967            
4968              
4969 77 100 33     1320 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\]//)
  77 50       1485  
4970             {
4971            
4972 0         0 $expectation->failed();
4973 0 0       0 Parse::RecDescent::_trace(qq{<>},
4974             Parse::RecDescent::_tracefirst($text))
4975             if defined $::RD_TRACE;
4976 0         0 last;
4977             }
4978 77 50       495 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
4979             . $& . q{])},
4980             Parse::RecDescent::_tracefirst($text))
4981             if defined $::RD_TRACE;
4982 77         310 push @item, $item{__STRING3__}=$&;
4983            
4984              
4985 77 50       216 Parse::RecDescent::_trace(q{Trying action},
4986             Parse::RecDescent::_tracefirst($text),
4987             q{kids},
4988             $tracelevel)
4989             if defined $::RD_TRACE;
4990            
4991              
4992 77 50       196 $_tok = ($_noactions) ? 0 : do {
4993 77         217 $return = $item{fieldlist};
4994             };
4995 77 50       231 unless (defined $_tok)
4996             {
4997 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
4998             if defined $::RD_TRACE;
4999 0         0 last;
5000             }
5001 77 50       186 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5002             . $_tok . q{])},
5003             Parse::RecDescent::_tracefirst($text))
5004             if defined $::RD_TRACE;
5005 77         148 push @item, $_tok;
5006 77         169 $item{__ACTION1__}=$_tok;
5007            
5008              
5009              
5010 77 50       177 Parse::RecDescent::_trace(q{>>Matched production: ['/Kids' '[' fieldlist ']']<<},
5011             Parse::RecDescent::_tracefirst($text),
5012             q{kids},
5013             $tracelevel)
5014             if defined $::RD_TRACE;
5015 77         107 $_matched = 1;
5016 77         249 last;
5017             }
5018              
5019             splice
5020 77 50       279 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
5021            
5022 77 0 33     230 unless ( $_matched || defined($return) || defined($score) )
      33        
5023             {
5024 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
5025            
5026              
5027 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
5028 0 0       0 Parse::RecDescent::_trace(q{<>},
5029             Parse::RecDescent::_tracefirst($_[1]),
5030             q{kids},
5031             $tracelevel)
5032             if defined $::RD_TRACE;
5033 0         0 return undef;
5034             }
5035 77 50 33     263 if (!defined($return) && defined($score))
5036             {
5037 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5038             q{kids},
5039             $tracelevel)
5040             if defined $::RD_TRACE;
5041 0         0 $return = $score_return;
5042             }
5043 77         100 splice @{$thisparser->{errors}}, $err_at;
  77         194  
5044 77 50       211 $return = $item[$#item] unless defined $return;
5045 77 50       197 if (defined $::RD_TRACE)
5046             {
5047 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5048             $return . q{])}, "",
5049             q{kids},
5050             $tracelevel);
5051 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5052             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5053             Parse::RecDescent::_tracefirst($text),
5054             , q{kids},
5055             $tracelevel)
5056             }
5057 77         212 $_[1] = $text;
5058 77         1050 return $return;
5059             }
5060              
5061             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
5062             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::params
5063             {
5064 0     0   0 my $thisparser = $_[0];
5065 15     15   104 use vars q{$tracelevel};
  15         161  
  15         17951  
5066 0   0     0 local $tracelevel = ($tracelevel||0)+1;
5067 0         0 $ERRORS = 0;
5068 0         0 my $thisrule = $thisparser->{"rules"}{"params"};
5069            
5070 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [params]},
5071             Parse::RecDescent::_tracefirst($_[1]),
5072             q{params},
5073             $tracelevel)
5074             if defined $::RD_TRACE;
5075              
5076 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
5077 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
5078              
5079 0         0 my $score;
5080             my $score_return;
5081 0         0 my $_tok;
5082 0         0 my $return = undef;
5083 0         0 my $_matched=0;
5084 0         0 my $commit=0;
5085 0         0 my @item = ();
5086 0         0 my %item = ();
5087 0   0     0 my $repeating = defined($_[2]) && $_[2];
5088 0   0     0 my $_noactions = defined($_[3]) && $_[3];
5089 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
5090 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5091 0         0 my $text;
5092 0         0 my $lastsep="";
5093 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
5094 0         0 $expectation->at($_[1]);
5095            
5096 0         0 my $thisline;
5097 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5098              
5099            
5100              
5101 0   0     0 while (!$_matched && !$commit)
5102             {
5103            
5104 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['/Params' '<<' paramlist '>>']},
5105             Parse::RecDescent::_tracefirst($_[1]),
5106             q{params},
5107             $tracelevel)
5108             if defined $::RD_TRACE;
5109 0         0 my $thisprod = $thisrule->{"prods"}[0];
5110 0         0 $text = $_[1];
5111 0         0 my $_savetext;
5112 0         0 @item = (q{params});
5113 0         0 %item = (__RULE__ => q{params});
5114 0         0 my $repcount = 0;
5115              
5116              
5117 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/Params']},
5118             Parse::RecDescent::_tracefirst($text),
5119             q{params},
5120             $tracelevel)
5121             if defined $::RD_TRACE;
5122 0         0 $lastsep = "";
5123 0         0 $expectation->is(q{})->at($text);
5124            
5125              
5126 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/Params//)
  0 0       0  
5127             {
5128            
5129 0         0 $expectation->failed();
5130 0 0       0 Parse::RecDescent::_trace(qq{<>},
5131             Parse::RecDescent::_tracefirst($text))
5132             if defined $::RD_TRACE;
5133 0         0 last;
5134             }
5135 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5136             . $& . q{])},
5137             Parse::RecDescent::_tracefirst($text))
5138             if defined $::RD_TRACE;
5139 0         0 push @item, $item{__STRING1__}=$&;
5140            
5141              
5142 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
5143             Parse::RecDescent::_tracefirst($text),
5144             q{params},
5145             $tracelevel)
5146             if defined $::RD_TRACE;
5147 0         0 $lastsep = "";
5148 0         0 $expectation->is(q{'<<'})->at($text);
5149            
5150              
5151 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  0 0       0  
5152             {
5153            
5154 0         0 $expectation->failed();
5155 0 0       0 Parse::RecDescent::_trace(qq{<>},
5156             Parse::RecDescent::_tracefirst($text))
5157             if defined $::RD_TRACE;
5158 0         0 last;
5159             }
5160 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5161             . $& . q{])},
5162             Parse::RecDescent::_tracefirst($text))
5163             if defined $::RD_TRACE;
5164 0         0 push @item, $item{__STRING2__}=$&;
5165            
5166              
5167 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [paramlist]},
5168             Parse::RecDescent::_tracefirst($text),
5169             q{params},
5170             $tracelevel)
5171             if defined $::RD_TRACE;
5172 15     15   111 if (1) { no strict qw{refs};
  15         50  
  15         13365  
  0         0  
5173 0         0 $expectation->is(q{paramlist})->at($text);
5174 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::paramlist($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
5175             {
5176            
5177 0 0       0 Parse::RecDescent::_trace(q{<>},
5178             Parse::RecDescent::_tracefirst($text),
5179             q{params},
5180             $tracelevel)
5181             if defined $::RD_TRACE;
5182 0         0 $expectation->failed();
5183 0         0 last;
5184             }
5185 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [paramlist]<< (return value: [}
5186             . $_tok . q{]},
5187            
5188             Parse::RecDescent::_tracefirst($text),
5189             q{params},
5190             $tracelevel)
5191             if defined $::RD_TRACE;
5192 0         0 $item{q{paramlist}} = $_tok;
5193 0         0 push @item, $_tok;
5194            
5195             }
5196              
5197 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
5198             Parse::RecDescent::_tracefirst($text),
5199             q{params},
5200             $tracelevel)
5201             if defined $::RD_TRACE;
5202 0         0 $lastsep = "";
5203 0         0 $expectation->is(q{'>>'})->at($text);
5204            
5205              
5206 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  0 0       0  
5207             {
5208            
5209 0         0 $expectation->failed();
5210 0 0       0 Parse::RecDescent::_trace(qq{<>},
5211             Parse::RecDescent::_tracefirst($text))
5212             if defined $::RD_TRACE;
5213 0         0 last;
5214             }
5215 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5216             . $& . q{])},
5217             Parse::RecDescent::_tracefirst($text))
5218             if defined $::RD_TRACE;
5219 0         0 push @item, $item{__STRING3__}=$&;
5220            
5221              
5222              
5223 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['/Params' '<<' paramlist '>>']<<},
5224             Parse::RecDescent::_tracefirst($text),
5225             q{params},
5226             $tracelevel)
5227             if defined $::RD_TRACE;
5228 0         0 $_matched = 1;
5229 0         0 last;
5230             }
5231              
5232             splice
5233 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
5234            
5235 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
5236             {
5237 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
5238            
5239              
5240 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
5241 0 0       0 Parse::RecDescent::_trace(q{<>},
5242             Parse::RecDescent::_tracefirst($_[1]),
5243             q{params},
5244             $tracelevel)
5245             if defined $::RD_TRACE;
5246 0         0 return undef;
5247             }
5248 0 0 0     0 if (!defined($return) && defined($score))
5249             {
5250 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5251             q{params},
5252             $tracelevel)
5253             if defined $::RD_TRACE;
5254 0         0 $return = $score_return;
5255             }
5256 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
5257 0 0       0 $return = $item[$#item] unless defined $return;
5258 0 0       0 if (defined $::RD_TRACE)
5259             {
5260 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5261             $return . q{])}, "",
5262             q{params},
5263             $tracelevel);
5264 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5265             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5266             Parse::RecDescent::_tracefirst($text),
5267             , q{params},
5268             $tracelevel)
5269             }
5270 0         0 $_[1] = $text;
5271 0         0 return $return;
5272             }
5273              
5274             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
5275             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::type
5276             {
5277 13     13   209 my $thisparser = $_[0];
5278 15     15   107 use vars q{$tracelevel};
  15         26  
  15         25448  
5279 13   50     85 local $tracelevel = ($tracelevel||0)+1;
5280 13         36 $ERRORS = 0;
5281 13         59 my $thisrule = $thisparser->{"rules"}{"type"};
5282            
5283 13 50       54 Parse::RecDescent::_trace(q{Trying rule: [type]},
5284             Parse::RecDescent::_tracefirst($_[1]),
5285             q{type},
5286             $tracelevel)
5287             if defined $::RD_TRACE;
5288              
5289 13         27 my $def_at = @{$thisparser->{deferred}};
  13         36  
5290 13         30 my $err_at = @{$thisparser->{errors}};
  13         42  
5291              
5292 13         25 my $score;
5293             my $score_return;
5294 0         0 my $_tok;
5295 13         24 my $return = undef;
5296 13         39 my $_matched=0;
5297 13         28 my $commit=0;
5298 13         33 my @item = ();
5299 13         49 my %item = ();
5300 13   33     81 my $repeating = defined($_[2]) && $_[2];
5301 13   33     94 my $_noactions = defined($_[3]) && $_[3];
5302 13 50       72 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
5303 13 50       88 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5304 13         24 my $text;
5305 13         29 my $lastsep="";
5306 13         64 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
5307 13         538 $expectation->at($_[1]);
5308            
5309 13         53 my $thisline;
5310 13         80 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5311              
5312            
5313              
5314 13   33     188 while (!$_matched && !$commit)
5315             {
5316            
5317 13 50       65 Parse::RecDescent::_trace(q{Trying production: [/\\/Type/ /\\/(Filespec|Catalog)/]},
5318             Parse::RecDescent::_tracefirst($_[1]),
5319             q{type},
5320             $tracelevel)
5321             if defined $::RD_TRACE;
5322 13         38 my $thisprod = $thisrule->{"prods"}[0];
5323 13         34 $text = $_[1];
5324 13         41 my $_savetext;
5325 13         37 @item = (q{type});
5326 13         41 %item = (__RULE__ => q{type});
5327 13         26 my $repcount = 0;
5328              
5329              
5330 13 50       68 Parse::RecDescent::_trace(q{Trying terminal: [/\\/Type/]}, Parse::RecDescent::_tracefirst($text),
5331             q{type},
5332             $tracelevel)
5333             if defined $::RD_TRACE;
5334 13         27 $lastsep = "";
5335 13         63 $expectation->is(q{})->at($text);
5336            
5337              
5338 13 100 66     299 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\/Type)//)
  13 100       212  
5339             {
5340            
5341 12         78 $expectation->failed();
5342 12 50       89 Parse::RecDescent::_trace(q{<>},
5343             Parse::RecDescent::_tracefirst($text))
5344             if defined $::RD_TRACE;
5345              
5346 12         34 last;
5347             }
5348 1 50       5 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5349             . $& . q{])},
5350             Parse::RecDescent::_tracefirst($text))
5351             if defined $::RD_TRACE;
5352 1         3 push @item, $item{__PATTERN1__}=$&;
5353            
5354              
5355 1 50       4 Parse::RecDescent::_trace(q{Trying terminal: [/\\/(Filespec|Catalog)/]}, Parse::RecDescent::_tracefirst($text),
5356             q{type},
5357             $tracelevel)
5358             if defined $::RD_TRACE;
5359 1         2 $lastsep = "";
5360 1         3 $expectation->is(q{/\\/(Filespec|Catalog)/})->at($text);
5361            
5362              
5363 1 50 33     14 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\/(Filespec|Catalog))//)
  1 50       16  
5364             {
5365            
5366 0         0 $expectation->failed();
5367 0 0       0 Parse::RecDescent::_trace(q{<>},
5368             Parse::RecDescent::_tracefirst($text))
5369             if defined $::RD_TRACE;
5370              
5371 0         0 last;
5372             }
5373 1 50       4 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5374             . $& . q{])},
5375             Parse::RecDescent::_tracefirst($text))
5376             if defined $::RD_TRACE;
5377 1         3 push @item, $item{__PATTERN2__}=$&;
5378            
5379              
5380              
5381 1 50       3 Parse::RecDescent::_trace(q{>>Matched production: [/\\/Type/ /\\/(Filespec|Catalog)/]<<},
5382             Parse::RecDescent::_tracefirst($text),
5383             q{type},
5384             $tracelevel)
5385             if defined $::RD_TRACE;
5386 1         7 $_matched = 1;
5387 1         3 last;
5388             }
5389              
5390             splice
5391 13 100       69 @{$thisparser->{deferred}}, $def_at unless $_matched;
  12         47  
5392            
5393 13   66     106 while (!$_matched && !$commit)
5394             {
5395            
5396 12 50       53 Parse::RecDescent::_trace(q{Trying production: []},
5397             Parse::RecDescent::_tracefirst($_[1]),
5398             q{type},
5399             $tracelevel)
5400             if defined $::RD_TRACE;
5401 12         56 my $thisprod = $thisrule->{"prods"}[1];
5402 12         47 $text = $_[1];
5403 12         26 my $_savetext;
5404 12         43 @item = (q{type});
5405 12         42 %item = (__RULE__ => q{type});
5406 12         22 my $repcount = 0;
5407              
5408              
5409              
5410 12 50       83 Parse::RecDescent::_trace(q{>>Matched production: []<<},
5411             Parse::RecDescent::_tracefirst($text),
5412             q{type},
5413             $tracelevel)
5414             if defined $::RD_TRACE;
5415 12         21 $_matched = 1;
5416 12         26 last;
5417             }
5418              
5419             splice
5420 13 50       65 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
5421            
5422 13 0 33     63 unless ( $_matched || defined($return) || defined($score) )
      33        
5423             {
5424 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
5425            
5426              
5427 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
5428 0 0       0 Parse::RecDescent::_trace(q{<>},
5429             Parse::RecDescent::_tracefirst($_[1]),
5430             q{type},
5431             $tracelevel)
5432             if defined $::RD_TRACE;
5433 0         0 return undef;
5434             }
5435 13 50 33     115 if (!defined($return) && defined($score))
5436             {
5437 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5438             q{type},
5439             $tracelevel)
5440             if defined $::RD_TRACE;
5441 0         0 $return = $score_return;
5442             }
5443 13         22 splice @{$thisparser->{errors}}, $err_at;
  13         43  
5444 13 50       87 $return = $item[$#item] unless defined $return;
5445 13 50       75 if (defined $::RD_TRACE)
5446             {
5447 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5448             $return . q{])}, "",
5449             q{type},
5450             $tracelevel);
5451 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5452             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5453             Parse::RecDescent::_tracefirst($text),
5454             , q{type},
5455             $tracelevel)
5456             }
5457 13         30 $_[1] = $text;
5458 13         108 return $return;
5459             }
5460              
5461             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
5462             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::stemparam
5463             {
5464 0     0   0 my $thisparser = $_[0];
5465 15     15   107 use vars q{$tracelevel};
  15         27  
  15         19031  
5466 0   0     0 local $tracelevel = ($tracelevel||0)+1;
5467 0         0 $ERRORS = 0;
5468 0         0 my $thisrule = $thisparser->{"rules"}{"stemparam"};
5469            
5470 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [stemparam]},
5471             Parse::RecDescent::_tracefirst($_[1]),
5472             q{stemparam},
5473             $tracelevel)
5474             if defined $::RD_TRACE;
5475              
5476 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
5477 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
5478              
5479 0         0 my $score;
5480             my $score_return;
5481 0         0 my $_tok;
5482 0         0 my $return = undef;
5483 0         0 my $_matched=0;
5484 0         0 my $commit=0;
5485 0         0 my @item = ();
5486 0         0 my %item = ();
5487 0   0     0 my $repeating = defined($_[2]) && $_[2];
5488 0   0     0 my $_noactions = defined($_[3]) && $_[3];
5489 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
5490 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5491 0         0 my $text;
5492 0         0 my $lastsep="";
5493 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
5494 0         0 $expectation->at($_[1]);
5495            
5496 0         0 my $thisline;
5497 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5498              
5499            
5500              
5501 0   0     0 while (!$_matched && !$commit)
5502             {
5503            
5504 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['/' m#\\w+#]},
5505             Parse::RecDescent::_tracefirst($_[1]),
5506             q{stemparam},
5507             $tracelevel)
5508             if defined $::RD_TRACE;
5509 0         0 my $thisprod = $thisrule->{"prods"}[0];
5510 0         0 $text = $_[1];
5511 0         0 my $_savetext;
5512 0         0 @item = (q{stemparam});
5513 0         0 %item = (__RULE__ => q{stemparam});
5514 0         0 my $repcount = 0;
5515              
5516              
5517 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/']},
5518             Parse::RecDescent::_tracefirst($text),
5519             q{stemparam},
5520             $tracelevel)
5521             if defined $::RD_TRACE;
5522 0         0 $lastsep = "";
5523 0         0 $expectation->is(q{})->at($text);
5524            
5525              
5526 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\///)
  0 0       0  
5527             {
5528            
5529 0         0 $expectation->failed();
5530 0 0       0 Parse::RecDescent::_trace(qq{<>},
5531             Parse::RecDescent::_tracefirst($text))
5532             if defined $::RD_TRACE;
5533 0         0 last;
5534             }
5535 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5536             . $& . q{])},
5537             Parse::RecDescent::_tracefirst($text))
5538             if defined $::RD_TRACE;
5539 0         0 push @item, $item{__STRING1__}=$&;
5540            
5541              
5542 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [m#\\w+#]}, Parse::RecDescent::_tracefirst($text),
5543             q{stemparam},
5544             $tracelevel)
5545             if defined $::RD_TRACE;
5546 0         0 $lastsep = "";
5547 0         0 $expectation->is(q{m#\\w+#})->at($text);
5548            
5549              
5550 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s#\A(?:\w+)##)
  0 0       0  
5551             {
5552            
5553 0         0 $expectation->failed();
5554 0 0       0 Parse::RecDescent::_trace(q{<>},
5555             Parse::RecDescent::_tracefirst($text))
5556             if defined $::RD_TRACE;
5557              
5558 0         0 last;
5559             }
5560 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5561             . $& . q{])},
5562             Parse::RecDescent::_tracefirst($text))
5563             if defined $::RD_TRACE;
5564 0         0 push @item, $item{__PATTERN1__}=$&;
5565            
5566              
5567              
5568 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['/' m#\\w+#]<<},
5569             Parse::RecDescent::_tracefirst($text),
5570             q{stemparam},
5571             $tracelevel)
5572             if defined $::RD_TRACE;
5573 0         0 $_matched = 1;
5574 0         0 last;
5575             }
5576              
5577             splice
5578 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
5579            
5580 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
5581             {
5582 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
5583            
5584              
5585 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
5586 0 0       0 Parse::RecDescent::_trace(q{<>},
5587             Parse::RecDescent::_tracefirst($_[1]),
5588             q{stemparam},
5589             $tracelevel)
5590             if defined $::RD_TRACE;
5591 0         0 return undef;
5592             }
5593 0 0 0     0 if (!defined($return) && defined($score))
5594             {
5595 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
5596             q{stemparam},
5597             $tracelevel)
5598             if defined $::RD_TRACE;
5599 0         0 $return = $score_return;
5600             }
5601 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
5602 0 0       0 $return = $item[$#item] unless defined $return;
5603 0 0       0 if (defined $::RD_TRACE)
5604             {
5605 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
5606             $return . q{])}, "",
5607             q{stemparam},
5608             $tracelevel);
5609 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
5610             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
5611             Parse::RecDescent::_tracefirst($text),
5612             , q{stemparam},
5613             $tracelevel)
5614             }
5615 0         0 $_[1] = $text;
5616 0         0 return $return;
5617             }
5618              
5619             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
5620             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::attributes
5621             {
5622 77     77   152 my $thisparser = $_[0];
5623 15     15   107 use vars q{$tracelevel};
  15         33  
  15         14846  
5624 77   50     385 local $tracelevel = ($tracelevel||0)+1;
5625 77         121 $ERRORS = 0;
5626 77         217 my $thisrule = $thisparser->{"rules"}{"attributes"};
5627            
5628 77 50       215 Parse::RecDescent::_trace(q{Trying rule: [attributes]},
5629             Parse::RecDescent::_tracefirst($_[1]),
5630             q{attributes},
5631             $tracelevel)
5632             if defined $::RD_TRACE;
5633              
5634 77         93 my $def_at = @{$thisparser->{deferred}};
  77         171  
5635 77         100 my $err_at = @{$thisparser->{errors}};
  77         152  
5636              
5637 77         132 my $score;
5638             my $score_return;
5639 0         0 my $_tok;
5640 77         98 my $return = undef;
5641 77         113 my $_matched=0;
5642 77         107 my $commit=0;
5643 77         136 my @item = ();
5644 77         145 my %item = ();
5645 77   33     298 my $repeating = defined($_[2]) && $_[2];
5646 77   33     274 my $_noactions = defined($_[3]) && $_[3];
5647 77 50       191 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  77         101  
  77         181  
5648 77 50       494 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
5649 77         103 my $text;
5650 77         120 my $lastsep="";
5651 77         277 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
5652 77         5157 $expectation->at($_[1]);
5653            
5654 77         327 my $thisline;
5655 77         421 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
5656              
5657            
5658              
5659 77   33     953 while (!$_matched && !$commit)
5660             {
5661 77 50       224 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
5662 77 50       270 Parse::RecDescent::_trace(q{Trying production: ['/F' '(' value ')' attributes {F} = $item[4]; }>]},
5663             Parse::RecDescent::_tracefirst($_[1]),
5664             q{attributes},
5665             $tracelevel)
5666             if defined $::RD_TRACE;
5667 77         175 my $thisprod = $thisrule->{"prods"}[0];
5668 77         141 $text = $_[1];
5669 77         100 my $_savetext;
5670 77         185 @item = (q{attributes});
5671 77         208 %item = (__RULE__ => q{attributes});
5672 77         109 my $repcount = 0;
5673              
5674              
5675 77 50       199 Parse::RecDescent::_trace(q{Trying terminal: ['/F']},
5676             Parse::RecDescent::_tracefirst($text),
5677             q{attributes},
5678             $tracelevel)
5679             if defined $::RD_TRACE;
5680 77         119 $lastsep = "";
5681 77         296 $expectation->is(q{})->at($text);
5682            
5683              
5684 77 100 66     996 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/F//)
  77 100       1171  
5685             {
5686            
5687 41         146 $expectation->failed();
5688 41 50       225 Parse::RecDescent::_trace(qq{<>},
5689             Parse::RecDescent::_tracefirst($text))
5690             if defined $::RD_TRACE;
5691 41         140 last;
5692             }
5693 36 50       133 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5694             . $& . q{])},
5695             Parse::RecDescent::_tracefirst($text))
5696             if defined $::RD_TRACE;
5697 36         124 push @item, $item{__STRING1__}=$&;
5698            
5699              
5700 36 50       101 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
5701             Parse::RecDescent::_tracefirst($text),
5702             q{attributes},
5703             $tracelevel)
5704             if defined $::RD_TRACE;
5705 36         65 $lastsep = "";
5706 36         123 $expectation->is(q{'('})->at($text);
5707            
5708              
5709 36 100 66     524 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
  36 100       528  
5710             {
5711            
5712 21         86 $expectation->failed();
5713 21 50       273 Parse::RecDescent::_trace(qq{<>},
5714             Parse::RecDescent::_tracefirst($text))
5715             if defined $::RD_TRACE;
5716 21         67 last;
5717             }
5718 15 50       76 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5719             . $& . q{])},
5720             Parse::RecDescent::_tracefirst($text))
5721             if defined $::RD_TRACE;
5722 15         55 push @item, $item{__STRING2__}=$&;
5723            
5724              
5725            
5726              
5727 15 50       64 Parse::RecDescent::_trace(q{Trying directive: []},
5728             Parse::RecDescent::_tracefirst($text),
5729             q{attributes},
5730             $tracelevel)
5731             if defined $::RD_TRACE;
5732 15         33 $_tok = do { my $oldskip = $skip; $skip=""; $oldskip };
  15         30  
  15         36  
  15         35  
5733 15 50       68 if (defined($_tok))
5734             {
5735 15 50       80 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5736             . $_tok . q{])},
5737             Parse::RecDescent::_tracefirst($text))
5738             if defined $::RD_TRACE;
5739             }
5740             else
5741             {
5742 0 0       0 Parse::RecDescent::_trace(q{<>},
5743             Parse::RecDescent::_tracefirst($text))
5744             if defined $::RD_TRACE;
5745             }
5746            
5747 15 50       59 last unless defined $_tok;
5748 15         53 push @item, $item{__DIRECTIVE1__}=$_tok;
5749            
5750              
5751 15 50       66 Parse::RecDescent::_trace(q{Trying subrule: [value]},
5752             Parse::RecDescent::_tracefirst($text),
5753             q{attributes},
5754             $tracelevel)
5755             if defined $::RD_TRACE;
5756 15     15   103 if (1) { no strict qw{refs};
  15         30  
  15         16889  
  15         35  
5757 15         65 $expectation->is(q{value})->at($text);
5758 15 50   15   199 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::value($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  15         61  
5759             {
5760            
5761 0 0       0 Parse::RecDescent::_trace(q{<>},
5762             Parse::RecDescent::_tracefirst($text),
5763             q{attributes},
5764             $tracelevel)
5765             if defined $::RD_TRACE;
5766 0         0 $expectation->failed();
5767 0         0 last;
5768             }
5769 15 50       94 Parse::RecDescent::_trace(q{>>Matched subrule: [value]<< (return value: [}
5770             . $_tok . q{]},
5771            
5772             Parse::RecDescent::_tracefirst($text),
5773             q{attributes},
5774             $tracelevel)
5775             if defined $::RD_TRACE;
5776 15         43 $item{q{value}} = $_tok;
5777 15         43 push @item, $_tok;
5778            
5779             }
5780              
5781            
5782              
5783 15 50       57 Parse::RecDescent::_trace(q{Trying directive: []},
5784             Parse::RecDescent::_tracefirst($text),
5785             q{attributes},
5786             $tracelevel)
5787             if defined $::RD_TRACE;
5788 15         31 $_tok = do { my $oldskip = $skip; $skip=$item[3]; $oldskip };
  15         350  
  15         30  
  15         35  
5789 15 50       61 if (defined($_tok))
5790             {
5791 15 50       60 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5792             . $_tok . q{])},
5793             Parse::RecDescent::_tracefirst($text))
5794             if defined $::RD_TRACE;
5795             }
5796             else
5797             {
5798 0 0       0 Parse::RecDescent::_trace(q{<>},
5799             Parse::RecDescent::_tracefirst($text))
5800             if defined $::RD_TRACE;
5801             }
5802            
5803 15 50       56 last unless defined $_tok;
5804 15         53 push @item, $item{__DIRECTIVE2__}=$_tok;
5805            
5806              
5807 15 50       53 Parse::RecDescent::_trace(q{Trying terminal: [')']},
5808             Parse::RecDescent::_tracefirst($text),
5809             q{attributes},
5810             $tracelevel)
5811             if defined $::RD_TRACE;
5812 15         947 $lastsep = "";
5813 15         67 $expectation->is(q{')'})->at($text);
5814            
5815              
5816 15 50 33     392 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
  15 50       306  
5817             {
5818            
5819 0         0 $expectation->failed();
5820 0 0       0 Parse::RecDescent::_trace(qq{<>},
5821             Parse::RecDescent::_tracefirst($text))
5822             if defined $::RD_TRACE;
5823 0         0 last;
5824             }
5825 15 50       71 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5826             . $& . q{])},
5827             Parse::RecDescent::_tracefirst($text))
5828             if defined $::RD_TRACE;
5829 15         63 push @item, $item{__STRING3__}=$&;
5830            
5831              
5832 15 50       63 Parse::RecDescent::_trace(q{Trying subrule: [attributes]},
5833             Parse::RecDescent::_tracefirst($text),
5834             q{attributes},
5835             $tracelevel)
5836             if defined $::RD_TRACE;
5837 15     15   100 if (1) { no strict qw{refs};
  15         57  
  15         25698  
  15         26  
5838 15         61 $expectation->is(q{attributes})->at($text);
5839 15 50   15   727 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::attributes($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  15         43  
5840             {
5841            
5842 0 0       0 Parse::RecDescent::_trace(q{<>},
5843             Parse::RecDescent::_tracefirst($text),
5844             q{attributes},
5845             $tracelevel)
5846             if defined $::RD_TRACE;
5847 0         0 $expectation->failed();
5848 0         0 last;
5849             }
5850 15 50       116 Parse::RecDescent::_trace(q{>>Matched subrule: [attributes]<< (return value: [}
5851             . $_tok . q{]},
5852            
5853             Parse::RecDescent::_tracefirst($text),
5854             q{attributes},
5855             $tracelevel)
5856             if defined $::RD_TRACE;
5857 15         99 $item{q{attributes}} = $_tok;
5858 15         38 push @item, $_tok;
5859            
5860             }
5861              
5862            
5863              
5864 15 50       56 Parse::RecDescent::_trace(q{Trying directive: [{F} = $item[4]; }>]},
5865             Parse::RecDescent::_tracefirst($text),
5866             q{attributes},
5867             $tracelevel)
5868             if defined $::RD_TRACE;
5869 15     15   26 $_tok = do { push @{$thisparser->{deferred}}, sub { $PDF::FDF::Simple::deferred_result_FDF_OPTIONS->{F} = $item[4]; }; };
  15         32  
  15         105  
  15         124  
5870 15 50       70 if (defined($_tok))
5871             {
5872 15 50       87 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
5873             . $_tok . q{])},
5874             Parse::RecDescent::_tracefirst($text))
5875             if defined $::RD_TRACE;
5876             }
5877             else
5878             {
5879 0 0       0 Parse::RecDescent::_trace(q{<>},
5880             Parse::RecDescent::_tracefirst($text))
5881             if defined $::RD_TRACE;
5882             }
5883            
5884 15 50       50 last unless defined $_tok;
5885 15         72 push @item, $item{__DIRECTIVE3__}=$_tok;
5886            
5887              
5888 15 50       50 Parse::RecDescent::_trace(q{Trying action},
5889             Parse::RecDescent::_tracefirst($text),
5890             q{attributes},
5891             $tracelevel)
5892             if defined $::RD_TRACE;
5893            
5894              
5895 15 50       69 $_tok = ($_noactions) ? 0 : do {
5896 15         70 $return = $item{value};
5897             };
5898 15 50       68 unless (defined $_tok)
5899             {
5900 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
5901             if defined $::RD_TRACE;
5902 0         0 last;
5903             }
5904 15 50       62 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
5905             . $_tok . q{])},
5906             Parse::RecDescent::_tracefirst($text))
5907             if defined $::RD_TRACE;
5908 15         38 push @item, $_tok;
5909 15         37 $item{__ACTION1__}=$_tok;
5910            
5911              
5912              
5913 15 50       62 Parse::RecDescent::_trace(q{>>Matched production: ['/F' '(' value ')' attributes {F} = $item[4]; }>]<<},
5914             Parse::RecDescent::_tracefirst($text),
5915             q{attributes},
5916             $tracelevel)
5917             if defined $::RD_TRACE;
5918 15         37 $_matched = 1;
5919 15         56 last;
5920             }
5921              
5922             splice
5923 77 100       259 @{$thisparser->{deferred}}, $def_at unless $_matched;
  62         173  
5924            
5925 77   66     346 while (!$_matched && !$commit)
5926             {
5927 62 50       187 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
5928 62 50       168 Parse::RecDescent::_trace(q{Trying production: ['/UF' '(' value ')' attributes {UF} = $item[4]; }>]},
5929             Parse::RecDescent::_tracefirst($_[1]),
5930             q{attributes},
5931             $tracelevel)
5932             if defined $::RD_TRACE;
5933 62         151 my $thisprod = $thisrule->{"prods"}[1];
5934 62         129 $text = $_[1];
5935 62         94 my $_savetext;
5936 62         151 @item = (q{attributes});
5937 62         220 %item = (__RULE__ => q{attributes});
5938 62         101 my $repcount = 0;
5939              
5940              
5941 62 50       175 Parse::RecDescent::_trace(q{Trying terminal: ['/UF']},
5942             Parse::RecDescent::_tracefirst($text),
5943             q{attributes},
5944             $tracelevel)
5945             if defined $::RD_TRACE;
5946 62         113 $lastsep = "";
5947 62         192 $expectation->is(q{})->at($text);
5948            
5949              
5950 62 100 66     874 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/UF//)
  62 100       751  
5951             {
5952            
5953 53         220 $expectation->failed();
5954 53 50       538 Parse::RecDescent::_trace(qq{<>},
5955             Parse::RecDescent::_tracefirst($text))
5956             if defined $::RD_TRACE;
5957 53         125 last;
5958             }
5959 9 50       38 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5960             . $& . q{])},
5961             Parse::RecDescent::_tracefirst($text))
5962             if defined $::RD_TRACE;
5963 9         34 push @item, $item{__STRING1__}=$&;
5964            
5965              
5966 9 50       28 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
5967             Parse::RecDescent::_tracefirst($text),
5968             q{attributes},
5969             $tracelevel)
5970             if defined $::RD_TRACE;
5971 9         23 $lastsep = "";
5972 9         53 $expectation->is(q{'('})->at($text);
5973            
5974              
5975 9 100 33     197 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
  9 50       150  
5976             {
5977            
5978 0         0 $expectation->failed();
5979 0 0       0 Parse::RecDescent::_trace(qq{<>},
5980             Parse::RecDescent::_tracefirst($text))
5981             if defined $::RD_TRACE;
5982 0         0 last;
5983             }
5984 9 50       45 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
5985             . $& . q{])},
5986             Parse::RecDescent::_tracefirst($text))
5987             if defined $::RD_TRACE;
5988 9         34 push @item, $item{__STRING2__}=$&;
5989            
5990              
5991            
5992              
5993 9 50       41 Parse::RecDescent::_trace(q{Trying directive: []},
5994             Parse::RecDescent::_tracefirst($text),
5995             q{attributes},
5996             $tracelevel)
5997             if defined $::RD_TRACE;
5998 9         17 $_tok = do { my $oldskip = $skip; $skip=""; $oldskip };
  9         18  
  9         16  
  9         23  
5999 9 50       38 if (defined($_tok))
6000             {
6001 9 50       32 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
6002             . $_tok . q{])},
6003             Parse::RecDescent::_tracefirst($text))
6004             if defined $::RD_TRACE;
6005             }
6006             else
6007             {
6008 0 0       0 Parse::RecDescent::_trace(q{<>},
6009             Parse::RecDescent::_tracefirst($text))
6010             if defined $::RD_TRACE;
6011             }
6012            
6013 9 50       41 last unless defined $_tok;
6014 9         28 push @item, $item{__DIRECTIVE1__}=$_tok;
6015            
6016              
6017 9 50       32 Parse::RecDescent::_trace(q{Trying subrule: [value]},
6018             Parse::RecDescent::_tracefirst($text),
6019             q{attributes},
6020             $tracelevel)
6021             if defined $::RD_TRACE;
6022 15     15   114 if (1) { no strict qw{refs};
  15         34  
  15         10518  
  9         17  
6023 9         40 $expectation->is(q{value})->at($text);
6024 9 50   9   119 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::value($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  9         28  
6025             {
6026            
6027 0 0       0 Parse::RecDescent::_trace(q{<>},
6028             Parse::RecDescent::_tracefirst($text),
6029             q{attributes},
6030             $tracelevel)
6031             if defined $::RD_TRACE;
6032 0         0 $expectation->failed();
6033 0         0 last;
6034             }
6035 9 50       54 Parse::RecDescent::_trace(q{>>Matched subrule: [value]<< (return value: [}
6036             . $_tok . q{]},
6037            
6038             Parse::RecDescent::_tracefirst($text),
6039             q{attributes},
6040             $tracelevel)
6041             if defined $::RD_TRACE;
6042 9         24 $item{q{value}} = $_tok;
6043 9         24 push @item, $_tok;
6044            
6045             }
6046              
6047            
6048              
6049 9 50       35 Parse::RecDescent::_trace(q{Trying directive: []},
6050             Parse::RecDescent::_tracefirst($text),
6051             q{attributes},
6052             $tracelevel)
6053             if defined $::RD_TRACE;
6054 9         15 $_tok = do { my $oldskip = $skip; $skip=$item[3]; $oldskip };
  9         19  
  9         16  
  9         32  
6055 9 50       39 if (defined($_tok))
6056             {
6057 9 50       36 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
6058             . $_tok . q{])},
6059             Parse::RecDescent::_tracefirst($text))
6060             if defined $::RD_TRACE;
6061             }
6062             else
6063             {
6064 0 0       0 Parse::RecDescent::_trace(q{<>},
6065             Parse::RecDescent::_tracefirst($text))
6066             if defined $::RD_TRACE;
6067             }
6068            
6069 9 50       29 last unless defined $_tok;
6070 9         32 push @item, $item{__DIRECTIVE2__}=$_tok;
6071            
6072              
6073 9 50       29 Parse::RecDescent::_trace(q{Trying terminal: [')']},
6074             Parse::RecDescent::_tracefirst($text),
6075             q{attributes},
6076             $tracelevel)
6077             if defined $::RD_TRACE;
6078 9         22 $lastsep = "";
6079 9         39 $expectation->is(q{')'})->at($text);
6080            
6081              
6082 9 50 33     343 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
  9 50       166  
6083             {
6084            
6085 0         0 $expectation->failed();
6086 0 0       0 Parse::RecDescent::_trace(qq{<>},
6087             Parse::RecDescent::_tracefirst($text))
6088             if defined $::RD_TRACE;
6089 0         0 last;
6090             }
6091 9 50       43 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6092             . $& . q{])},
6093             Parse::RecDescent::_tracefirst($text))
6094             if defined $::RD_TRACE;
6095 9         41 push @item, $item{__STRING3__}=$&;
6096            
6097              
6098 9 50       43 Parse::RecDescent::_trace(q{Trying subrule: [attributes]},
6099             Parse::RecDescent::_tracefirst($text),
6100             q{attributes},
6101             $tracelevel)
6102             if defined $::RD_TRACE;
6103 15     15   97 if (1) { no strict qw{refs};
  15         34  
  15         26471  
  9         18  
6104 9         49 $expectation->is(q{attributes})->at($text);
6105 9 50   9   345 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::attributes($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  9         26  
6106             {
6107            
6108 0 0       0 Parse::RecDescent::_trace(q{<>},
6109             Parse::RecDescent::_tracefirst($text),
6110             q{attributes},
6111             $tracelevel)
6112             if defined $::RD_TRACE;
6113 0         0 $expectation->failed();
6114 0         0 last;
6115             }
6116 9 50       59 Parse::RecDescent::_trace(q{>>Matched subrule: [attributes]<< (return value: [}
6117             . $_tok . q{]},
6118            
6119             Parse::RecDescent::_tracefirst($text),
6120             q{attributes},
6121             $tracelevel)
6122             if defined $::RD_TRACE;
6123 9         30 $item{q{attributes}} = $_tok;
6124 9         23 push @item, $_tok;
6125            
6126             }
6127              
6128            
6129              
6130 9 50       42 Parse::RecDescent::_trace(q{Trying directive: [{UF} = $item[4]; }>]},
6131             Parse::RecDescent::_tracefirst($text),
6132             q{attributes},
6133             $tracelevel)
6134             if defined $::RD_TRACE;
6135 9     9   19 $_tok = do { push @{$thisparser->{deferred}}, sub { $PDF::FDF::Simple::deferred_result_FDF_OPTIONS->{UF} = $item[4]; }; };
  9         13  
  9         53  
  9         59  
6136 9 50       110 if (defined($_tok))
6137             {
6138 9 50       32 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
6139             . $_tok . q{])},
6140             Parse::RecDescent::_tracefirst($text))
6141             if defined $::RD_TRACE;
6142             }
6143             else
6144             {
6145 0 0       0 Parse::RecDescent::_trace(q{<>},
6146             Parse::RecDescent::_tracefirst($text))
6147             if defined $::RD_TRACE;
6148             }
6149            
6150 9 50       91 last unless defined $_tok;
6151 9         30 push @item, $item{__DIRECTIVE3__}=$_tok;
6152            
6153              
6154 9 50       32 Parse::RecDescent::_trace(q{Trying action},
6155             Parse::RecDescent::_tracefirst($text),
6156             q{attributes},
6157             $tracelevel)
6158             if defined $::RD_TRACE;
6159            
6160              
6161 9 50       35 $_tok = ($_noactions) ? 0 : do {
6162 9         30 $return = $item{value};
6163             };
6164 9 50       133 unless (defined $_tok)
6165             {
6166 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6167             if defined $::RD_TRACE;
6168 0         0 last;
6169             }
6170 9 50       32 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6171             . $_tok . q{])},
6172             Parse::RecDescent::_tracefirst($text))
6173             if defined $::RD_TRACE;
6174 9         28 push @item, $_tok;
6175 9         27 $item{__ACTION1__}=$_tok;
6176            
6177              
6178              
6179 9 50       53 Parse::RecDescent::_trace(q{>>Matched production: ['/UF' '(' value ')' attributes {UF} = $item[4]; }>]<<},
6180             Parse::RecDescent::_tracefirst($text),
6181             q{attributes},
6182             $tracelevel)
6183             if defined $::RD_TRACE;
6184 9         15 $_matched = 1;
6185 9         31 last;
6186             }
6187              
6188             splice
6189 77 100       221 @{$thisparser->{deferred}}, $def_at unless $_matched;
  53         126  
6190            
6191 77   66     1167 while (!$_matched && !$commit)
6192             {
6193            
6194 53 50       157 Parse::RecDescent::_trace(q{Trying production: ['/ID' '[' idnum ']' attributes]},
6195             Parse::RecDescent::_tracefirst($_[1]),
6196             q{attributes},
6197             $tracelevel)
6198             if defined $::RD_TRACE;
6199 53         169 my $thisprod = $thisrule->{"prods"}[2];
6200 53         106 $text = $_[1];
6201 53         75 my $_savetext;
6202 53         133 @item = (q{attributes});
6203 53         131 %item = (__RULE__ => q{attributes});
6204 53         83 my $repcount = 0;
6205              
6206              
6207 53 50       150 Parse::RecDescent::_trace(q{Trying terminal: ['/ID']},
6208             Parse::RecDescent::_tracefirst($text),
6209             q{attributes},
6210             $tracelevel)
6211             if defined $::RD_TRACE;
6212 53         88 $lastsep = "";
6213 53         175 $expectation->is(q{})->at($text);
6214            
6215              
6216 53 100 66     845 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/ID//)
  53 100       780  
6217             {
6218            
6219 38         144 $expectation->failed();
6220 38 50       198 Parse::RecDescent::_trace(qq{<>},
6221             Parse::RecDescent::_tracefirst($text))
6222             if defined $::RD_TRACE;
6223 38         103 last;
6224             }
6225 15 50       67 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6226             . $& . q{])},
6227             Parse::RecDescent::_tracefirst($text))
6228             if defined $::RD_TRACE;
6229 15         58 push @item, $item{__STRING1__}=$&;
6230            
6231              
6232 15 50       62 Parse::RecDescent::_trace(q{Trying terminal: ['[']},
6233             Parse::RecDescent::_tracefirst($text),
6234             q{attributes},
6235             $tracelevel)
6236             if defined $::RD_TRACE;
6237 15         33 $lastsep = "";
6238 15         65 $expectation->is(q{'['})->at($text);
6239            
6240              
6241 15 100 33     317 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\[//)
  15 50       291  
6242             {
6243            
6244 0         0 $expectation->failed();
6245 0 0       0 Parse::RecDescent::_trace(qq{<>},
6246             Parse::RecDescent::_tracefirst($text))
6247             if defined $::RD_TRACE;
6248 0         0 last;
6249             }
6250 15 50       73 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6251             . $& . q{])},
6252             Parse::RecDescent::_tracefirst($text))
6253             if defined $::RD_TRACE;
6254 15         58 push @item, $item{__STRING2__}=$&;
6255            
6256              
6257 15 50       69 Parse::RecDescent::_trace(q{Trying repeated subrule: [idnum]},
6258             Parse::RecDescent::_tracefirst($text),
6259             q{attributes},
6260             $tracelevel)
6261             if defined $::RD_TRACE;
6262 15         152 $expectation->is(q{idnum})->at($text);
6263            
6264 15 50       243 unless (defined ($_tok = $thisparser->_parserepeat($text, \&Parse::RecDescent::PDF::FDF::Simple::Grammar::idnum, 0, 100000000, $_noactions,$expectation,undef)))
6265             {
6266 0 0       0 Parse::RecDescent::_trace(q{<>},
6267             Parse::RecDescent::_tracefirst($text),
6268             q{attributes},
6269             $tracelevel)
6270             if defined $::RD_TRACE;
6271 0         0 last;
6272             }
6273 15 50       245 Parse::RecDescent::_trace(q{>>Matched repeated subrule: [idnum]<< (}
6274             . @$_tok . q{ times)},
6275            
6276             Parse::RecDescent::_tracefirst($text),
6277             q{attributes},
6278             $tracelevel)
6279             if defined $::RD_TRACE;
6280 15         49 $item{q{idnum(s?)}} = $_tok;
6281 15         31 push @item, $_tok;
6282            
6283              
6284              
6285 15 50       106 Parse::RecDescent::_trace(q{Trying terminal: [']']},
6286             Parse::RecDescent::_tracefirst($text),
6287             q{attributes},
6288             $tracelevel)
6289             if defined $::RD_TRACE;
6290 15         40 $lastsep = "";
6291 15         57 $expectation->is(q{']'})->at($text);
6292            
6293              
6294 15 100 33     306 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\]//)
  15 50       245  
6295             {
6296            
6297 0         0 $expectation->failed();
6298 0 0       0 Parse::RecDescent::_trace(qq{<>},
6299             Parse::RecDescent::_tracefirst($text))
6300             if defined $::RD_TRACE;
6301 0         0 last;
6302             }
6303 15 50       91 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6304             . $& . q{])},
6305             Parse::RecDescent::_tracefirst($text))
6306             if defined $::RD_TRACE;
6307 15         62 push @item, $item{__STRING3__}=$&;
6308            
6309              
6310 15 50       88 Parse::RecDescent::_trace(q{Trying subrule: [attributes]},
6311             Parse::RecDescent::_tracefirst($text),
6312             q{attributes},
6313             $tracelevel)
6314             if defined $::RD_TRACE;
6315 15     15   115 if (1) { no strict qw{refs};
  15         37  
  15         17015  
  15         38  
6316 15         69 $expectation->is(q{attributes})->at($text);
6317 15 50   15   556 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::attributes($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  15         47  
6318             {
6319            
6320 0 0       0 Parse::RecDescent::_trace(q{<>},
6321             Parse::RecDescent::_tracefirst($text),
6322             q{attributes},
6323             $tracelevel)
6324             if defined $::RD_TRACE;
6325 0         0 $expectation->failed();
6326 0         0 last;
6327             }
6328 15 50       102 Parse::RecDescent::_trace(q{>>Matched subrule: [attributes]<< (return value: [}
6329             . $_tok . q{]},
6330            
6331             Parse::RecDescent::_tracefirst($text),
6332             q{attributes},
6333             $tracelevel)
6334             if defined $::RD_TRACE;
6335 15         42 $item{q{attributes}} = $_tok;
6336 15         44 push @item, $_tok;
6337            
6338             }
6339              
6340              
6341 15 50       68 Parse::RecDescent::_trace(q{>>Matched production: ['/ID' '[' idnum ']' attributes]<<},
6342             Parse::RecDescent::_tracefirst($text),
6343             q{attributes},
6344             $tracelevel)
6345             if defined $::RD_TRACE;
6346 15         27 $_matched = 1;
6347 15         46 last;
6348             }
6349              
6350             splice
6351 77 100       223 @{$thisparser->{deferred}}, $def_at unless $_matched;
  38         112  
6352            
6353 77   66     346 while (!$_matched && !$commit)
6354             {
6355            
6356 38 50       126 Parse::RecDescent::_trace(q{Trying production: []},
6357             Parse::RecDescent::_tracefirst($_[1]),
6358             q{attributes},
6359             $tracelevel)
6360             if defined $::RD_TRACE;
6361 38         90 my $thisprod = $thisrule->{"prods"}[3];
6362 38         187 $text = $_[1];
6363 38         65 my $_savetext;
6364 38         96 @item = (q{attributes});
6365 38         170 %item = (__RULE__ => q{attributes});
6366 38         79 my $repcount = 0;
6367              
6368              
6369              
6370 38 50       114 Parse::RecDescent::_trace(q{>>Matched production: []<<},
6371             Parse::RecDescent::_tracefirst($text),
6372             q{attributes},
6373             $tracelevel)
6374             if defined $::RD_TRACE;
6375 38         60 $_matched = 1;
6376 38         71 last;
6377             }
6378              
6379             splice
6380 77 50       184 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
6381            
6382 77 0 33     266 unless ( $_matched || defined($return) || defined($score) )
      33        
6383             {
6384 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
6385            
6386              
6387 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
6388 0 0       0 Parse::RecDescent::_trace(q{<>},
6389             Parse::RecDescent::_tracefirst($_[1]),
6390             q{attributes},
6391             $tracelevel)
6392             if defined $::RD_TRACE;
6393 0         0 return undef;
6394             }
6395 77 50 66     356 if (!defined($return) && defined($score))
6396             {
6397 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6398             q{attributes},
6399             $tracelevel)
6400             if defined $::RD_TRACE;
6401 0         0 $return = $score_return;
6402             }
6403 77         105 splice @{$thisparser->{errors}}, $err_at;
  77         161  
6404 77 100       272 $return = $item[$#item] unless defined $return;
6405 77 50       191 if (defined $::RD_TRACE)
6406             {
6407 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6408             $return . q{])}, "",
6409             q{attributes},
6410             $tracelevel);
6411 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6412             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6413             Parse::RecDescent::_tracefirst($text),
6414             , q{attributes},
6415             $tracelevel)
6416             }
6417 77         151 $_[1] = $text;
6418 77         926 return $return;
6419             }
6420              
6421             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
6422             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::dl
6423             {
6424 0     0   0 my $thisparser = $_[0];
6425 15     15   110 use vars q{$tracelevel};
  15         37  
  15         34535  
6426 0   0     0 local $tracelevel = ($tracelevel||0)+1;
6427 0         0 $ERRORS = 0;
6428 0         0 my $thisrule = $thisparser->{"rules"}{"dl"};
6429            
6430 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [dl]},
6431             Parse::RecDescent::_tracefirst($_[1]),
6432             q{dl},
6433             $tracelevel)
6434             if defined $::RD_TRACE;
6435              
6436 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
6437 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
6438              
6439 0         0 my $score;
6440             my $score_return;
6441 0         0 my $_tok;
6442 0         0 my $return = undef;
6443 0         0 my $_matched=0;
6444 0         0 my $commit=0;
6445 0         0 my @item = ();
6446 0         0 my %item = ();
6447 0   0     0 my $repeating = defined($_[2]) && $_[2];
6448 0   0     0 my $_noactions = defined($_[3]) && $_[3];
6449 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
6450 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6451 0         0 my $text;
6452 0         0 my $lastsep="";
6453 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
6454 0         0 $expectation->at($_[1]);
6455            
6456 0         0 my $thisline;
6457 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6458              
6459            
6460              
6461 0   0     0 while (!$_matched && !$commit)
6462             {
6463            
6464 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['/DL' m#\\d+# '>>']},
6465             Parse::RecDescent::_tracefirst($_[1]),
6466             q{dl},
6467             $tracelevel)
6468             if defined $::RD_TRACE;
6469 0         0 my $thisprod = $thisrule->{"prods"}[0];
6470 0         0 $text = $_[1];
6471 0         0 my $_savetext;
6472 0         0 @item = (q{dl});
6473 0         0 %item = (__RULE__ => q{dl});
6474 0         0 my $repcount = 0;
6475              
6476              
6477 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/DL']},
6478             Parse::RecDescent::_tracefirst($text),
6479             q{dl},
6480             $tracelevel)
6481             if defined $::RD_TRACE;
6482 0         0 $lastsep = "";
6483 0         0 $expectation->is(q{})->at($text);
6484            
6485              
6486 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/DL//)
  0 0       0  
6487             {
6488            
6489 0         0 $expectation->failed();
6490 0 0       0 Parse::RecDescent::_trace(qq{<>},
6491             Parse::RecDescent::_tracefirst($text))
6492             if defined $::RD_TRACE;
6493 0         0 last;
6494             }
6495 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6496             . $& . q{])},
6497             Parse::RecDescent::_tracefirst($text))
6498             if defined $::RD_TRACE;
6499 0         0 push @item, $item{__STRING1__}=$&;
6500            
6501              
6502 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [m#\\d+#]}, Parse::RecDescent::_tracefirst($text),
6503             q{dl},
6504             $tracelevel)
6505             if defined $::RD_TRACE;
6506 0         0 $lastsep = "";
6507 0         0 $expectation->is(q{m#\\d+#})->at($text);
6508            
6509              
6510 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s#\A(?:\d+)##)
  0 0       0  
6511             {
6512            
6513 0         0 $expectation->failed();
6514 0 0       0 Parse::RecDescent::_trace(q{<>},
6515             Parse::RecDescent::_tracefirst($text))
6516             if defined $::RD_TRACE;
6517              
6518 0         0 last;
6519             }
6520 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6521             . $& . q{])},
6522             Parse::RecDescent::_tracefirst($text))
6523             if defined $::RD_TRACE;
6524 0         0 push @item, $item{__PATTERN1__}=$&;
6525            
6526              
6527 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
6528             Parse::RecDescent::_tracefirst($text),
6529             q{dl},
6530             $tracelevel)
6531             if defined $::RD_TRACE;
6532 0         0 $lastsep = "";
6533 0         0 $expectation->is(q{'>>'})->at($text);
6534            
6535              
6536 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  0 0       0  
6537             {
6538            
6539 0         0 $expectation->failed();
6540 0 0       0 Parse::RecDescent::_trace(qq{<>},
6541             Parse::RecDescent::_tracefirst($text))
6542             if defined $::RD_TRACE;
6543 0         0 last;
6544             }
6545 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6546             . $& . q{])},
6547             Parse::RecDescent::_tracefirst($text))
6548             if defined $::RD_TRACE;
6549 0         0 push @item, $item{__STRING2__}=$&;
6550            
6551              
6552              
6553 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['/DL' m#\\d+# '>>']<<},
6554             Parse::RecDescent::_tracefirst($text),
6555             q{dl},
6556             $tracelevel)
6557             if defined $::RD_TRACE;
6558 0         0 $_matched = 1;
6559 0         0 last;
6560             }
6561              
6562             splice
6563 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
6564            
6565 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
6566             {
6567 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
6568            
6569              
6570 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
6571 0 0       0 Parse::RecDescent::_trace(q{<>},
6572             Parse::RecDescent::_tracefirst($_[1]),
6573             q{dl},
6574             $tracelevel)
6575             if defined $::RD_TRACE;
6576 0         0 return undef;
6577             }
6578 0 0 0     0 if (!defined($return) && defined($score))
6579             {
6580 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6581             q{dl},
6582             $tracelevel)
6583             if defined $::RD_TRACE;
6584 0         0 $return = $score_return;
6585             }
6586 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
6587 0 0       0 $return = $item[$#item] unless defined $return;
6588 0 0       0 if (defined $::RD_TRACE)
6589             {
6590 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6591             $return . q{])}, "",
6592             q{dl},
6593             $tracelevel);
6594 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6595             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6596             Parse::RecDescent::_tracefirst($text),
6597             , q{dl},
6598             $tracelevel)
6599             }
6600 0         0 $_[1] = $text;
6601 0         0 return $return;
6602             }
6603              
6604             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
6605             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::paramlist
6606             {
6607 0     0   0 my $thisparser = $_[0];
6608 15     15   146 use vars q{$tracelevel};
  15         47  
  15         6624  
6609 0   0     0 local $tracelevel = ($tracelevel||0)+1;
6610 0         0 $ERRORS = 0;
6611 0         0 my $thisrule = $thisparser->{"rules"}{"paramlist"};
6612            
6613 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [paramlist]},
6614             Parse::RecDescent::_tracefirst($_[1]),
6615             q{paramlist},
6616             $tracelevel)
6617             if defined $::RD_TRACE;
6618              
6619 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
6620 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
6621              
6622 0         0 my $score;
6623             my $score_return;
6624 0         0 my $_tok;
6625 0         0 my $return = undef;
6626 0         0 my $_matched=0;
6627 0         0 my $commit=0;
6628 0         0 my @item = ();
6629 0         0 my %item = ();
6630 0   0     0 my $repeating = defined($_[2]) && $_[2];
6631 0   0     0 my $_noactions = defined($_[3]) && $_[3];
6632 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
6633 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6634 0         0 my $text;
6635 0         0 my $lastsep="";
6636 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
6637 0         0 $expectation->at($_[1]);
6638            
6639 0         0 my $thisline;
6640 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6641              
6642            
6643              
6644 0   0     0 while (!$_matched && !$commit)
6645             {
6646            
6647 0 0       0 Parse::RecDescent::_trace(q{Trying production: [param paramlist]},
6648             Parse::RecDescent::_tracefirst($_[1]),
6649             q{paramlist},
6650             $tracelevel)
6651             if defined $::RD_TRACE;
6652 0         0 my $thisprod = $thisrule->{"prods"}[0];
6653 0         0 $text = $_[1];
6654 0         0 my $_savetext;
6655 0         0 @item = (q{paramlist});
6656 0         0 %item = (__RULE__ => q{paramlist});
6657 0         0 my $repcount = 0;
6658              
6659              
6660 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [param]},
6661             Parse::RecDescent::_tracefirst($text),
6662             q{paramlist},
6663             $tracelevel)
6664             if defined $::RD_TRACE;
6665 15     15   100 if (1) { no strict qw{refs};
  15         41  
  15         3231  
  0         0  
6666 0         0 $expectation->is(q{})->at($text);
6667 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::param($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
6668             {
6669            
6670 0 0       0 Parse::RecDescent::_trace(q{<>},
6671             Parse::RecDescent::_tracefirst($text),
6672             q{paramlist},
6673             $tracelevel)
6674             if defined $::RD_TRACE;
6675 0         0 $expectation->failed();
6676 0         0 last;
6677             }
6678 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [param]<< (return value: [}
6679             . $_tok . q{]},
6680            
6681             Parse::RecDescent::_tracefirst($text),
6682             q{paramlist},
6683             $tracelevel)
6684             if defined $::RD_TRACE;
6685 0         0 $item{q{param}} = $_tok;
6686 0         0 push @item, $_tok;
6687            
6688             }
6689              
6690 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [paramlist]},
6691             Parse::RecDescent::_tracefirst($text),
6692             q{paramlist},
6693             $tracelevel)
6694             if defined $::RD_TRACE;
6695 15     15   87 if (1) { no strict qw{refs};
  15         45  
  15         11828  
  0         0  
6696 0         0 $expectation->is(q{paramlist})->at($text);
6697 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::paramlist($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
6698             {
6699            
6700 0 0       0 Parse::RecDescent::_trace(q{<>},
6701             Parse::RecDescent::_tracefirst($text),
6702             q{paramlist},
6703             $tracelevel)
6704             if defined $::RD_TRACE;
6705 0         0 $expectation->failed();
6706 0         0 last;
6707             }
6708 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [paramlist]<< (return value: [}
6709             . $_tok . q{]},
6710            
6711             Parse::RecDescent::_tracefirst($text),
6712             q{paramlist},
6713             $tracelevel)
6714             if defined $::RD_TRACE;
6715 0         0 $item{q{paramlist}} = $_tok;
6716 0         0 push @item, $_tok;
6717            
6718             }
6719              
6720              
6721 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [param paramlist]<<},
6722             Parse::RecDescent::_tracefirst($text),
6723             q{paramlist},
6724             $tracelevel)
6725             if defined $::RD_TRACE;
6726 0         0 $_matched = 1;
6727 0         0 last;
6728             }
6729              
6730             splice
6731 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
6732            
6733 0   0     0 while (!$_matched && !$commit)
6734             {
6735            
6736 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
6737             Parse::RecDescent::_tracefirst($_[1]),
6738             q{paramlist},
6739             $tracelevel)
6740             if defined $::RD_TRACE;
6741 0         0 my $thisprod = $thisrule->{"prods"}[1];
6742 0         0 $text = $_[1];
6743 0         0 my $_savetext;
6744 0         0 @item = (q{paramlist});
6745 0         0 %item = (__RULE__ => q{paramlist});
6746 0         0 my $repcount = 0;
6747              
6748              
6749              
6750 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
6751             Parse::RecDescent::_tracefirst($text),
6752             q{paramlist},
6753             $tracelevel)
6754             if defined $::RD_TRACE;
6755 0         0 $_matched = 1;
6756 0         0 last;
6757             }
6758              
6759             splice
6760 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
6761            
6762 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
6763             {
6764 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
6765            
6766              
6767 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
6768 0 0       0 Parse::RecDescent::_trace(q{<>},
6769             Parse::RecDescent::_tracefirst($_[1]),
6770             q{paramlist},
6771             $tracelevel)
6772             if defined $::RD_TRACE;
6773 0         0 return undef;
6774             }
6775 0 0 0     0 if (!defined($return) && defined($score))
6776             {
6777 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6778             q{paramlist},
6779             $tracelevel)
6780             if defined $::RD_TRACE;
6781 0         0 $return = $score_return;
6782             }
6783 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
6784 0 0       0 $return = $item[$#item] unless defined $return;
6785 0 0       0 if (defined $::RD_TRACE)
6786             {
6787 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6788             $return . q{])}, "",
6789             q{paramlist},
6790             $tracelevel);
6791 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6792             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6793             Parse::RecDescent::_tracefirst($text),
6794             , q{paramlist},
6795             $tracelevel)
6796             }
6797 0         0 $_[1] = $text;
6798 0         0 return $return;
6799             }
6800              
6801             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
6802             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::streamline
6803             {
6804 0     0   0 my $thisparser = $_[0];
6805 15     15   114 use vars q{$tracelevel};
  15         36  
  15         19871  
6806 0   0     0 local $tracelevel = ($tracelevel||0)+1;
6807 0         0 $ERRORS = 0;
6808 0         0 my $thisrule = $thisparser->{"rules"}{"streamline"};
6809            
6810 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [streamline]},
6811             Parse::RecDescent::_tracefirst($_[1]),
6812             q{streamline},
6813             $tracelevel)
6814             if defined $::RD_TRACE;
6815              
6816 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
6817 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
6818              
6819 0         0 my $score;
6820             my $score_return;
6821 0         0 my $_tok;
6822 0         0 my $return = undef;
6823 0         0 my $_matched=0;
6824 0         0 my $commit=0;
6825 0         0 my @item = ();
6826 0         0 my %item = ();
6827 0   0     0 my $repeating = defined($_[2]) && $_[2];
6828 0   0     0 my $_noactions = defined($_[3]) && $_[3];
6829 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
6830 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
6831 0         0 my $text;
6832 0         0 my $lastsep="";
6833 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
6834 0         0 $expectation->at($_[1]);
6835            
6836 0         0 my $thisline;
6837 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
6838              
6839            
6840              
6841 0   0     0 while (!$_matched && !$commit)
6842             {
6843            
6844 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['endstream' m#.*#]},
6845             Parse::RecDescent::_tracefirst($_[1]),
6846             q{streamline},
6847             $tracelevel)
6848             if defined $::RD_TRACE;
6849 0         0 my $thisprod = $thisrule->{"prods"}[0];
6850 0         0 $text = $_[1];
6851 0         0 my $_savetext;
6852 0         0 @item = (q{streamline});
6853 0         0 %item = (__RULE__ => q{streamline});
6854 0         0 my $repcount = 0;
6855              
6856              
6857 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['endstream']},
6858             Parse::RecDescent::_tracefirst($text),
6859             q{streamline},
6860             $tracelevel)
6861             if defined $::RD_TRACE;
6862 0         0 $lastsep = "";
6863 0         0 $expectation->is(q{})->at($text);
6864 0         0 $_savetext = $text;
6865              
6866 0 0 0     0 if ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aendstream//)
  0 0       0  
6867             {
6868 0         0 $text = $_savetext;
6869 0         0 $expectation->failed();
6870 0 0       0 Parse::RecDescent::_trace(qq{<>},
6871             Parse::RecDescent::_tracefirst($text))
6872             if defined $::RD_TRACE;
6873 0         0 last;
6874             }
6875 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6876             . $& . q{])},
6877             Parse::RecDescent::_tracefirst($text))
6878             if defined $::RD_TRACE;
6879 0         0 push @item, $item{__STRING1__}=$&;
6880 0         0 $text = $_savetext;
6881              
6882 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [m#.*#]}, Parse::RecDescent::_tracefirst($text),
6883             q{streamline},
6884             $tracelevel)
6885             if defined $::RD_TRACE;
6886 0         0 $lastsep = "";
6887 0         0 $expectation->is(q{m#.*#})->at($text);
6888            
6889              
6890 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s#\A(?:.*)##)
  0 0       0  
6891             {
6892            
6893 0         0 $expectation->failed();
6894 0 0       0 Parse::RecDescent::_trace(q{<>},
6895             Parse::RecDescent::_tracefirst($text))
6896             if defined $::RD_TRACE;
6897              
6898 0         0 last;
6899             }
6900 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
6901             . $& . q{])},
6902             Parse::RecDescent::_tracefirst($text))
6903             if defined $::RD_TRACE;
6904 0         0 push @item, $item{__PATTERN1__}=$&;
6905            
6906              
6907 0 0       0 Parse::RecDescent::_trace(q{Trying action},
6908             Parse::RecDescent::_tracefirst($text),
6909             q{streamline},
6910             $tracelevel)
6911             if defined $::RD_TRACE;
6912            
6913              
6914 0 0       0 $_tok = ($_noactions) ? 0 : do {
6915 0         0 $::strcontent .= $item[2];
6916 0         0 $return = $item[2];
6917             };
6918 0 0       0 unless (defined $_tok)
6919             {
6920 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
6921             if defined $::RD_TRACE;
6922 0         0 last;
6923             }
6924 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
6925             . $_tok . q{])},
6926             Parse::RecDescent::_tracefirst($text))
6927             if defined $::RD_TRACE;
6928 0         0 push @item, $_tok;
6929 0         0 $item{__ACTION1__}=$_tok;
6930            
6931              
6932              
6933 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['endstream' m#.*#]<<},
6934             Parse::RecDescent::_tracefirst($text),
6935             q{streamline},
6936             $tracelevel)
6937             if defined $::RD_TRACE;
6938 0         0 $_matched = 1;
6939 0         0 last;
6940             }
6941              
6942             splice
6943 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
6944            
6945 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
6946             {
6947 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
6948            
6949              
6950 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
6951 0 0       0 Parse::RecDescent::_trace(q{<>},
6952             Parse::RecDescent::_tracefirst($_[1]),
6953             q{streamline},
6954             $tracelevel)
6955             if defined $::RD_TRACE;
6956 0         0 return undef;
6957             }
6958 0 0 0     0 if (!defined($return) && defined($score))
6959             {
6960 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
6961             q{streamline},
6962             $tracelevel)
6963             if defined $::RD_TRACE;
6964 0         0 $return = $score_return;
6965             }
6966 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
6967 0 0       0 $return = $item[$#item] unless defined $return;
6968 0 0       0 if (defined $::RD_TRACE)
6969             {
6970 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
6971             $return . q{])}, "",
6972             q{streamline},
6973             $tracelevel);
6974 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
6975             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
6976             Parse::RecDescent::_tracefirst($text),
6977             , q{streamline},
6978             $tracelevel)
6979             }
6980 0         0 $_[1] = $text;
6981 0         0 return $return;
6982             }
6983              
6984             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
6985             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldname
6986             {
6987 1060     1060   1944 my $thisparser = $_[0];
6988 15     15   106 use vars q{$tracelevel};
  15         36  
  15         11584  
6989 1060   50     3080 local $tracelevel = ($tracelevel||0)+1;
6990 1060         1485 $ERRORS = 0;
6991 1060         10254 my $thisrule = $thisparser->{"rules"}{"fieldname"};
6992            
6993 1060 50       5906 Parse::RecDescent::_trace(q{Trying rule: [fieldname]},
6994             Parse::RecDescent::_tracefirst($_[1]),
6995             q{fieldname},
6996             $tracelevel)
6997             if defined $::RD_TRACE;
6998              
6999 1060         1250 my $def_at = @{$thisparser->{deferred}};
  1060         2250  
7000 1060         1323 my $err_at = @{$thisparser->{errors}};
  1060         2158  
7001              
7002 1060         1375 my $score;
7003             my $score_return;
7004 0         0 my $_tok;
7005 1060         1297 my $return = undef;
7006 1060         1292 my $_matched=0;
7007 1060         6209 my $commit=0;
7008 1060         5490 my @item = ();
7009 1060         2700 my %item = ();
7010 1060   33     3470 my $repeating = defined($_[2]) && $_[2];
7011 1060   33     2997 my $_noactions = defined($_[3]) && $_[3];
7012 1060 50       2327 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  1060         1223  
  1060         2067  
7013 1060 50       3033 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7014 1060         1354 my $text;
7015 1060         1526 my $lastsep="";
7016 1060         4483 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
7017 1060         37406 $expectation->at($_[1]);
7018            
7019 1060         4343 my $thisline;
7020 1060         5578 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7021              
7022            
7023              
7024 1060   33     10703 while (!$_matched && !$commit)
7025             {
7026            
7027 1060 50       2402 Parse::RecDescent::_trace(q{Trying production: ['/T' '(' name ')']},
7028             Parse::RecDescent::_tracefirst($_[1]),
7029             q{fieldname},
7030             $tracelevel)
7031             if defined $::RD_TRACE;
7032 1060         2096 my $thisprod = $thisrule->{"prods"}[0];
7033 1060         1682 $text = $_[1];
7034 1060         1289 my $_savetext;
7035 1060         2041 @item = (q{fieldname});
7036 1060         2220 %item = (__RULE__ => q{fieldname});
7037 1060         1555 my $repcount = 0;
7038              
7039              
7040 1060 50       2136 Parse::RecDescent::_trace(q{Trying terminal: ['/T']},
7041             Parse::RecDescent::_tracefirst($text),
7042             q{fieldname},
7043             $tracelevel)
7044             if defined $::RD_TRACE;
7045 1060         1480 $lastsep = "";
7046 1060         4427 $expectation->is(q{})->at($text);
7047            
7048              
7049 1060 100 66     12442 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/T//)
  1060 100       15372  
7050             {
7051            
7052 148         439 $expectation->failed();
7053 148 50       721 Parse::RecDescent::_trace(qq{<>},
7054             Parse::RecDescent::_tracefirst($text))
7055             if defined $::RD_TRACE;
7056 148         312 last;
7057             }
7058 912 50       2580 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7059             . $& . q{])},
7060             Parse::RecDescent::_tracefirst($text))
7061             if defined $::RD_TRACE;
7062 912         2955 push @item, $item{__STRING1__}=$&;
7063            
7064              
7065 912 50       2269 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
7066             Parse::RecDescent::_tracefirst($text),
7067             q{fieldname},
7068             $tracelevel)
7069             if defined $::RD_TRACE;
7070 912         1332 $lastsep = "";
7071 912         2652 $expectation->is(q{'('})->at($text);
7072            
7073              
7074 912 100 33     9962 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
  912 50       13293  
7075             {
7076            
7077 0         0 $expectation->failed();
7078 0 0       0 Parse::RecDescent::_trace(qq{<>},
7079             Parse::RecDescent::_tracefirst($text))
7080             if defined $::RD_TRACE;
7081 0         0 last;
7082             }
7083 912 50       2466 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7084             . $& . q{])},
7085             Parse::RecDescent::_tracefirst($text))
7086             if defined $::RD_TRACE;
7087 912         2835 push @item, $item{__STRING2__}=$&;
7088            
7089              
7090 912 50       2013 Parse::RecDescent::_trace(q{Trying subrule: [name]},
7091             Parse::RecDescent::_tracefirst($text),
7092             q{fieldname},
7093             $tracelevel)
7094             if defined $::RD_TRACE;
7095 15     15   97 if (1) { no strict qw{refs};
  15         36  
  15         15479  
  912         1199  
7096 912         2735 $expectation->is(q{name})->at($text);
7097 912 50   912   10158 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  912         2032  
7098             {
7099            
7100 0 0       0 Parse::RecDescent::_trace(q{<>},
7101             Parse::RecDescent::_tracefirst($text),
7102             q{fieldname},
7103             $tracelevel)
7104             if defined $::RD_TRACE;
7105 0         0 $expectation->failed();
7106 0         0 last;
7107             }
7108 912 50       3734 Parse::RecDescent::_trace(q{>>Matched subrule: [name]<< (return value: [}
7109             . $_tok . q{]},
7110            
7111             Parse::RecDescent::_tracefirst($text),
7112             q{fieldname},
7113             $tracelevel)
7114             if defined $::RD_TRACE;
7115 912         1872 $item{q{name}} = $_tok;
7116 912         1586 push @item, $_tok;
7117            
7118             }
7119              
7120 912 50       2112 Parse::RecDescent::_trace(q{Trying terminal: [')']},
7121             Parse::RecDescent::_tracefirst($text),
7122             q{fieldname},
7123             $tracelevel)
7124             if defined $::RD_TRACE;
7125 912         1711 $lastsep = "";
7126 912         2871 $expectation->is(q{')'})->at($text);
7127            
7128              
7129 912 50 33     10218 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
  912 50       12993  
7130             {
7131            
7132 0         0 $expectation->failed();
7133 0 0       0 Parse::RecDescent::_trace(qq{<>},
7134             Parse::RecDescent::_tracefirst($text))
7135             if defined $::RD_TRACE;
7136 0         0 last;
7137             }
7138 912 50       2710 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7139             . $& . q{])},
7140             Parse::RecDescent::_tracefirst($text))
7141             if defined $::RD_TRACE;
7142 912         2975 push @item, $item{__STRING3__}=$&;
7143            
7144              
7145 912 50       2008 Parse::RecDescent::_trace(q{Trying action},
7146             Parse::RecDescent::_tracefirst($text),
7147             q{fieldname},
7148             $tracelevel)
7149             if defined $::RD_TRACE;
7150            
7151              
7152 912 50       1804 $_tok = ($_noactions) ? 0 : do {
7153 912         1726 $return = $item{name};
7154 912         1650 $return =~ s/\\(\d{3})/sprintf ("%c", oct($1))/eg; # handle octal
  0         0  
7155 912         2416 $return =~ s/\#([0-9A-F]{2})/sprintf ("%c", hex($1))/eg; # handle hex
  0         0  
7156             };
7157 912 50       2186 unless (defined $_tok)
7158             {
7159 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
7160             if defined $::RD_TRACE;
7161 0         0 last;
7162             }
7163 912 50       2140 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
7164             . $_tok . q{])},
7165             Parse::RecDescent::_tracefirst($text))
7166             if defined $::RD_TRACE;
7167 912         1790 push @item, $_tok;
7168 912         1933 $item{__ACTION1__}=$_tok;
7169            
7170              
7171              
7172 912 50       2195 Parse::RecDescent::_trace(q{>>Matched production: ['/T' '(' name ')']<<},
7173             Parse::RecDescent::_tracefirst($text),
7174             q{fieldname},
7175             $tracelevel)
7176             if defined $::RD_TRACE;
7177 912         1215 $_matched = 1;
7178 912         2073 last;
7179             }
7180              
7181             splice
7182 1060 100       2692 @{$thisparser->{deferred}}, $def_at unless $_matched;
  148         355  
7183            
7184 1060 50 66     3310 unless ( $_matched || defined($return) || defined($score) )
      66        
7185             {
7186 148         382 splice @{$thisparser->{deferred}}, $def_at;
  148         314  
7187            
7188              
7189 148         257 $_[1] = $text; # NOT SURE THIS IS NEEDED
7190 148 50       384 Parse::RecDescent::_trace(q{<>},
7191             Parse::RecDescent::_tracefirst($_[1]),
7192             q{fieldname},
7193             $tracelevel)
7194             if defined $::RD_TRACE;
7195 148         1240 return undef;
7196             }
7197 912 50 33     2666 if (!defined($return) && defined($score))
7198             {
7199 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7200             q{fieldname},
7201             $tracelevel)
7202             if defined $::RD_TRACE;
7203 0         0 $return = $score_return;
7204             }
7205 912         1130 splice @{$thisparser->{errors}}, $err_at;
  912         1990  
7206 912 50       1972 $return = $item[$#item] unless defined $return;
7207 912 50       2238 if (defined $::RD_TRACE)
7208             {
7209 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7210             $return . q{])}, "",
7211             q{fieldname},
7212             $tracelevel);
7213 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7214             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7215             Parse::RecDescent::_tracefirst($text),
7216             , q{fieldname},
7217             $tracelevel)
7218             }
7219 912         1593 $_[1] = $text;
7220 912         8504 return $return;
7221             }
7222              
7223             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
7224             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::xrefentry
7225             {
7226 6     6   81 my $thisparser = $_[0];
7227 15     15   94 use vars q{$tracelevel};
  15         35  
  15         20031  
7228 6   50     21 local $tracelevel = ($tracelevel||0)+1;
7229 6         8 $ERRORS = 0;
7230 6         12 my $thisrule = $thisparser->{"rules"}{"xrefentry"};
7231            
7232 6 50       14 Parse::RecDescent::_trace(q{Trying rule: [xrefentry]},
7233             Parse::RecDescent::_tracefirst($_[1]),
7234             q{xrefentry},
7235             $tracelevel)
7236             if defined $::RD_TRACE;
7237              
7238 6         5 my $def_at = @{$thisparser->{deferred}};
  6         14  
7239 6         9 my $err_at = @{$thisparser->{errors}};
  6         10  
7240              
7241 6         8 my $score;
7242             my $score_return;
7243 0         0 my $_tok;
7244 6         8 my $return = undef;
7245 6         7 my $_matched=0;
7246 6         7 my $commit=0;
7247 6         9 my @item = ();
7248 6         9 my %item = ();
7249 6   33     19 my $repeating = defined($_[2]) && $_[2];
7250 6   33     21 my $_noactions = defined($_[3]) && $_[3];
7251 6 50       16 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
7252 6 50       18 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7253 6         8 my $text;
7254 6         8 my $lastsep="";
7255 6         18 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
7256 6         184 $expectation->at($_[1]);
7257            
7258 6         23 my $thisline;
7259 6         30 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7260              
7261            
7262              
7263 6   33     64 while (!$_matched && !$commit)
7264             {
7265            
7266 6 50       12 Parse::RecDescent::_trace(q{Trying production: [/\\d+/ /\\d+/ /[fn]/]},
7267             Parse::RecDescent::_tracefirst($_[1]),
7268             q{xrefentry},
7269             $tracelevel)
7270             if defined $::RD_TRACE;
7271 6         13 my $thisprod = $thisrule->{"prods"}[0];
7272 6         8 $text = $_[1];
7273 6         8 my $_savetext;
7274 6         13 @item = (q{xrefentry});
7275 6         15 %item = (__RULE__ => q{xrefentry});
7276 6         8 my $repcount = 0;
7277              
7278              
7279 6 50       12 Parse::RecDescent::_trace(q{Trying terminal: [/\\d+/]}, Parse::RecDescent::_tracefirst($text),
7280             q{xrefentry},
7281             $tracelevel)
7282             if defined $::RD_TRACE;
7283 6         12 $lastsep = "";
7284 6         16 $expectation->is(q{})->at($text);
7285            
7286              
7287 6 50 66     74 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\d+)//)
  6 100       81  
7288             {
7289            
7290 2         8 $expectation->failed();
7291 2 50       13 Parse::RecDescent::_trace(q{<>},
7292             Parse::RecDescent::_tracefirst($text))
7293             if defined $::RD_TRACE;
7294              
7295 2         5 last;
7296             }
7297 4 50       13 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7298             . $& . q{])},
7299             Parse::RecDescent::_tracefirst($text))
7300             if defined $::RD_TRACE;
7301 4         12 push @item, $item{__PATTERN1__}=$&;
7302            
7303              
7304 4 50       12 Parse::RecDescent::_trace(q{Trying terminal: [/\\d+/]}, Parse::RecDescent::_tracefirst($text),
7305             q{xrefentry},
7306             $tracelevel)
7307             if defined $::RD_TRACE;
7308 4         5 $lastsep = "";
7309 4         12 $expectation->is(q{/\\d+/})->at($text);
7310            
7311              
7312 4 50 33     53 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\d+)//)
  4 50       52  
7313             {
7314            
7315 0         0 $expectation->failed();
7316 0 0       0 Parse::RecDescent::_trace(q{<>},
7317             Parse::RecDescent::_tracefirst($text))
7318             if defined $::RD_TRACE;
7319              
7320 0         0 last;
7321             }
7322 4 50       14 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7323             . $& . q{])},
7324             Parse::RecDescent::_tracefirst($text))
7325             if defined $::RD_TRACE;
7326 4         13 push @item, $item{__PATTERN2__}=$&;
7327            
7328              
7329 4 50       11 Parse::RecDescent::_trace(q{Trying terminal: [/[fn]/]}, Parse::RecDescent::_tracefirst($text),
7330             q{xrefentry},
7331             $tracelevel)
7332             if defined $::RD_TRACE;
7333 4         7 $lastsep = "";
7334 4         13 $expectation->is(q{/[fn]/})->at($text);
7335            
7336              
7337 4 50 33     52 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[fn])//)
  4 50       52  
7338             {
7339            
7340 0         0 $expectation->failed();
7341 0 0       0 Parse::RecDescent::_trace(q{<>},
7342             Parse::RecDescent::_tracefirst($text))
7343             if defined $::RD_TRACE;
7344              
7345 0         0 last;
7346             }
7347 4 50       14 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7348             . $& . q{])},
7349             Parse::RecDescent::_tracefirst($text))
7350             if defined $::RD_TRACE;
7351 4         15 push @item, $item{__PATTERN3__}=$&;
7352            
7353              
7354              
7355 4 50       10 Parse::RecDescent::_trace(q{>>Matched production: [/\\d+/ /\\d+/ /[fn]/]<<},
7356             Parse::RecDescent::_tracefirst($text),
7357             q{xrefentry},
7358             $tracelevel)
7359             if defined $::RD_TRACE;
7360 4         7 $_matched = 1;
7361 4         10 last;
7362             }
7363              
7364             splice
7365 6 100       20 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2         5  
7366            
7367 6 50 66     41 unless ( $_matched || defined($return) || defined($score) )
      66        
7368             {
7369 2         4 splice @{$thisparser->{deferred}}, $def_at;
  2         7  
7370            
7371              
7372 2         4 $_[1] = $text; # NOT SURE THIS IS NEEDED
7373 2 50       8 Parse::RecDescent::_trace(q{<>},
7374             Parse::RecDescent::_tracefirst($_[1]),
7375             q{xrefentry},
7376             $tracelevel)
7377             if defined $::RD_TRACE;
7378 2         14 return undef;
7379             }
7380 4 50 33     28 if (!defined($return) && defined($score))
7381             {
7382 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7383             q{xrefentry},
7384             $tracelevel)
7385             if defined $::RD_TRACE;
7386 0         0 $return = $score_return;
7387             }
7388 4         6 splice @{$thisparser->{errors}}, $err_at;
  4         10  
7389 4 50       15 $return = $item[$#item] unless defined $return;
7390 4 50       13 if (defined $::RD_TRACE)
7391             {
7392 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7393             $return . q{])}, "",
7394             q{xrefentry},
7395             $tracelevel);
7396 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7397             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7398             Parse::RecDescent::_tracefirst($text),
7399             , q{xrefentry},
7400             $tracelevel)
7401             }
7402 4         9 $_[1] = $text;
7403 4         35 return $return;
7404             }
7405              
7406             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
7407             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::objreference
7408             {
7409 21     21   55 my $thisparser = $_[0];
7410 15     15   108 use vars q{$tracelevel};
  15         43  
  15         25813  
7411 21   50     268 local $tracelevel = ($tracelevel||0)+1;
7412 21         42 $ERRORS = 0;
7413 21         127 my $thisrule = $thisparser->{"rules"}{"objreference"};
7414            
7415 21 50       76 Parse::RecDescent::_trace(q{Trying rule: [objreference]},
7416             Parse::RecDescent::_tracefirst($_[1]),
7417             q{objreference},
7418             $tracelevel)
7419             if defined $::RD_TRACE;
7420              
7421 21         34 my $def_at = @{$thisparser->{deferred}};
  21         67  
7422 21         46 my $err_at = @{$thisparser->{errors}};
  21         47  
7423              
7424 21         39 my $score;
7425             my $score_return;
7426 0         0 my $_tok;
7427 21         40 my $return = undef;
7428 21         34 my $_matched=0;
7429 21         34 my $commit=0;
7430 21         79 my @item = ();
7431 21         49 my %item = ();
7432 21   33     221 my $repeating = defined($_[2]) && $_[2];
7433 21   33     116 my $_noactions = defined($_[3]) && $_[3];
7434 21 50       75 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  21         39  
  21         76  
7435 21 50       96 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7436 21         35 my $text;
7437 21         43 my $lastsep="";
7438 21         94 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
7439 21         747 $expectation->at($_[1]);
7440            
7441 21         96 my $thisline;
7442 21         126 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7443              
7444            
7445              
7446 21   33     278 while (!$_matched && !$commit)
7447             {
7448            
7449 21 50       86 Parse::RecDescent::_trace(q{Trying production: [/\\d+/ /\\d+/ 'R']},
7450             Parse::RecDescent::_tracefirst($_[1]),
7451             q{objreference},
7452             $tracelevel)
7453             if defined $::RD_TRACE;
7454 21         58 my $thisprod = $thisrule->{"prods"}[0];
7455 21         44 $text = $_[1];
7456 21         43 my $_savetext;
7457 21         64 @item = (q{objreference});
7458 21         69 %item = (__RULE__ => q{objreference});
7459 21         38 my $repcount = 0;
7460              
7461              
7462 21 50       81 Parse::RecDescent::_trace(q{Trying terminal: [/\\d+/]}, Parse::RecDescent::_tracefirst($text),
7463             q{objreference},
7464             $tracelevel)
7465             if defined $::RD_TRACE;
7466 21         50 $lastsep = "";
7467 21         89 $expectation->is(q{})->at($text);
7468            
7469              
7470 21 50 33     654 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\d+)//)
  21 50       372  
7471             {
7472            
7473 0         0 $expectation->failed();
7474 0 0       0 Parse::RecDescent::_trace(q{<>},
7475             Parse::RecDescent::_tracefirst($text))
7476             if defined $::RD_TRACE;
7477              
7478 0         0 last;
7479             }
7480 21 50       95 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7481             . $& . q{])},
7482             Parse::RecDescent::_tracefirst($text))
7483             if defined $::RD_TRACE;
7484 21         82 push @item, $item{__PATTERN1__}=$&;
7485            
7486              
7487 21 50       79 Parse::RecDescent::_trace(q{Trying terminal: [/\\d+/]}, Parse::RecDescent::_tracefirst($text),
7488             q{objreference},
7489             $tracelevel)
7490             if defined $::RD_TRACE;
7491 21         63 $lastsep = "";
7492 21         79 $expectation->is(q{/\\d+/})->at($text);
7493            
7494              
7495 21 50 33     365 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\d+)//)
  21 50       348  
7496             {
7497            
7498 0         0 $expectation->failed();
7499 0 0       0 Parse::RecDescent::_trace(q{<>},
7500             Parse::RecDescent::_tracefirst($text))
7501             if defined $::RD_TRACE;
7502              
7503 0         0 last;
7504             }
7505 21 50       90 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7506             . $& . q{])},
7507             Parse::RecDescent::_tracefirst($text))
7508             if defined $::RD_TRACE;
7509 21         79 push @item, $item{__PATTERN2__}=$&;
7510            
7511              
7512 21 50       82 Parse::RecDescent::_trace(q{Trying terminal: ['R']},
7513             Parse::RecDescent::_tracefirst($text),
7514             q{objreference},
7515             $tracelevel)
7516             if defined $::RD_TRACE;
7517 21         42 $lastsep = "";
7518 21         95 $expectation->is(q{'R'})->at($text);
7519            
7520              
7521 21 50 33     399 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\AR//)
  21 50       460  
7522             {
7523            
7524 0         0 $expectation->failed();
7525 0 0       0 Parse::RecDescent::_trace(qq{<>},
7526             Parse::RecDescent::_tracefirst($text))
7527             if defined $::RD_TRACE;
7528 0         0 last;
7529             }
7530 21 50       81 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7531             . $& . q{])},
7532             Parse::RecDescent::_tracefirst($text))
7533             if defined $::RD_TRACE;
7534 21         81 push @item, $item{__STRING1__}=$&;
7535            
7536              
7537              
7538 21 50       78 Parse::RecDescent::_trace(q{>>Matched production: [/\\d+/ /\\d+/ 'R']<<},
7539             Parse::RecDescent::_tracefirst($text),
7540             q{objreference},
7541             $tracelevel)
7542             if defined $::RD_TRACE;
7543 21         43 $_matched = 1;
7544 21         67 last;
7545             }
7546              
7547             splice
7548 21 50       163 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
7549            
7550 21 0 33     123 unless ( $_matched || defined($return) || defined($score) )
      33        
7551             {
7552 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
7553            
7554              
7555 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
7556 0 0       0 Parse::RecDescent::_trace(q{<>},
7557             Parse::RecDescent::_tracefirst($_[1]),
7558             q{objreference},
7559             $tracelevel)
7560             if defined $::RD_TRACE;
7561 0         0 return undef;
7562             }
7563 21 50 33     283 if (!defined($return) && defined($score))
7564             {
7565 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7566             q{objreference},
7567             $tracelevel)
7568             if defined $::RD_TRACE;
7569 0         0 $return = $score_return;
7570             }
7571 21         38 splice @{$thisparser->{errors}}, $err_at;
  21         62  
7572 21 50       174 $return = $item[$#item] unless defined $return;
7573 21 50       75 if (defined $::RD_TRACE)
7574             {
7575 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7576             $return . q{])}, "",
7577             q{objreference},
7578             $tracelevel);
7579 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7580             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7581             Parse::RecDescent::_tracefirst($text),
7582             , q{objreference},
7583             $tracelevel)
7584             }
7585 21         50 $_[1] = $text;
7586 21         237 return $return;
7587             }
7588              
7589             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
7590             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::idnum
7591             {
7592 45     45   841 my $thisparser = $_[0];
7593 15     15   112 use vars q{$tracelevel};
  15         32  
  15         24035  
7594 45   50     178 local $tracelevel = ($tracelevel||0)+1;
7595 45         74 $ERRORS = 0;
7596 45         117 my $thisrule = $thisparser->{"rules"}{"idnum"};
7597            
7598 45 50       136 Parse::RecDescent::_trace(q{Trying rule: [idnum]},
7599             Parse::RecDescent::_tracefirst($_[1]),
7600             q{idnum},
7601             $tracelevel)
7602             if defined $::RD_TRACE;
7603              
7604 45         63 my $def_at = @{$thisparser->{deferred}};
  45         95  
7605 45         68 my $err_at = @{$thisparser->{errors}};
  45         88  
7606              
7607 45         61 my $score;
7608             my $score_return;
7609 0         0 my $_tok;
7610 45         63 my $return = undef;
7611 45         82 my $_matched=0;
7612 45         63 my $commit=0;
7613 45         79 my @item = ();
7614 45         74 my %item = ();
7615 45   33     171 my $repeating = defined($_[2]) && $_[2];
7616 45   33     171 my $_noactions = defined($_[3]) && $_[3];
7617 45 50       159 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
7618 45 50       163 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7619 45         62 my $text;
7620 45         66 my $lastsep="";
7621 45         156 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
7622 45         4921 $expectation->at($_[1]);
7623            
7624 45         362 my $thisline;
7625 45         391 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7626              
7627            
7628              
7629 45   33     785 while (!$_matched && !$commit)
7630             {
7631            
7632 45 50       119 Parse::RecDescent::_trace(q{Trying production: ['<' /[\\w]*/ '>' {ID}}, $item[1].$item[2].$item[3]); }>]},
7633             Parse::RecDescent::_tracefirst($_[1]),
7634             q{idnum},
7635             $tracelevel)
7636             if defined $::RD_TRACE;
7637 45         102 my $thisprod = $thisrule->{"prods"}[0];
7638 45         74 $text = $_[1];
7639 45         67 my $_savetext;
7640 45         106 @item = (q{idnum});
7641 45         284 %item = (__RULE__ => q{idnum});
7642 45         71 my $repcount = 0;
7643              
7644              
7645 45 50       116 Parse::RecDescent::_trace(q{Trying terminal: ['<']},
7646             Parse::RecDescent::_tracefirst($text),
7647             q{idnum},
7648             $tracelevel)
7649             if defined $::RD_TRACE;
7650 45         70 $lastsep = "";
7651 45         157 $expectation->is(q{})->at($text);
7652            
7653              
7654 45 100 66     1138 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\
  45 100       956  
7655             {
7656            
7657 19         75 $expectation->failed();
7658 19 50       116 Parse::RecDescent::_trace(qq{<>},
7659             Parse::RecDescent::_tracefirst($text))
7660             if defined $::RD_TRACE;
7661 19         52 last;
7662             }
7663 26 50       101 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7664             . $& . q{])},
7665             Parse::RecDescent::_tracefirst($text))
7666             if defined $::RD_TRACE;
7667 26         88 push @item, $item{__STRING1__}=$&;
7668            
7669              
7670 26 50       70 Parse::RecDescent::_trace(q{Trying terminal: [/[\\w]*/]}, Parse::RecDescent::_tracefirst($text),
7671             q{idnum},
7672             $tracelevel)
7673             if defined $::RD_TRACE;
7674 26         39 $lastsep = "";
7675 26         86 $expectation->is(q{/[\\w]*/})->at($text);
7676            
7677              
7678 26 50 33     747 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[\w]*)//)
  26 50       506  
7679             {
7680            
7681 0         0 $expectation->failed();
7682 0 0       0 Parse::RecDescent::_trace(q{<>},
7683             Parse::RecDescent::_tracefirst($text))
7684             if defined $::RD_TRACE;
7685              
7686 0         0 last;
7687             }
7688 26 50       95 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7689             . $& . q{])},
7690             Parse::RecDescent::_tracefirst($text))
7691             if defined $::RD_TRACE;
7692 26         97 push @item, $item{__PATTERN1__}=$&;
7693            
7694              
7695 26 50       69 Parse::RecDescent::_trace(q{Trying terminal: ['>']},
7696             Parse::RecDescent::_tracefirst($text),
7697             q{idnum},
7698             $tracelevel)
7699             if defined $::RD_TRACE;
7700 26         55 $lastsep = "";
7701 26         335 $expectation->is(q{'>'})->at($text);
7702            
7703              
7704 26 50 33     544 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>//)
  26 50       542  
7705             {
7706            
7707 0         0 $expectation->failed();
7708 0 0       0 Parse::RecDescent::_trace(qq{<>},
7709             Parse::RecDescent::_tracefirst($text))
7710             if defined $::RD_TRACE;
7711 0         0 last;
7712             }
7713 26 50       102 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7714             . $& . q{])},
7715             Parse::RecDescent::_tracefirst($text))
7716             if defined $::RD_TRACE;
7717 26         90 push @item, $item{__STRING2__}=$&;
7718            
7719              
7720            
7721              
7722 26 50       76 Parse::RecDescent::_trace(q{Trying directive: [{ID}}, $item[1].$item[2].$item[3]); }>]},
7723             Parse::RecDescent::_tracefirst($text),
7724             q{idnum},
7725             $tracelevel)
7726             if defined $::RD_TRACE;
7727 26     26   33 $_tok = do { push @{$thisparser->{deferred}}, sub { push (@{$PDF::FDF::Simple::deferred_result_FDF_OPTIONS->{ID}}, $item[1].$item[2].$item[3]); }; };
  26         34  
  26         357  
  26         187  
  26         200  
7728 26 50       85 if (defined($_tok))
7729             {
7730 26 50       535 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
7731             . $_tok . q{])},
7732             Parse::RecDescent::_tracefirst($text))
7733             if defined $::RD_TRACE;
7734             }
7735             else
7736             {
7737 0 0       0 Parse::RecDescent::_trace(q{<>},
7738             Parse::RecDescent::_tracefirst($text))
7739             if defined $::RD_TRACE;
7740             }
7741            
7742 26 50       99 last unless defined $_tok;
7743 26         72 push @item, $item{__DIRECTIVE1__}=$_tok;
7744            
7745              
7746              
7747 26 50       77 Parse::RecDescent::_trace(q{>>Matched production: ['<' /[\\w]*/ '>' {ID}}, $item[1].$item[2].$item[3]); }>]<<},
7748             Parse::RecDescent::_tracefirst($text),
7749             q{idnum},
7750             $tracelevel)
7751             if defined $::RD_TRACE;
7752 26         40 $_matched = 1;
7753 26         63 last;
7754             }
7755              
7756             splice
7757 45 100       161 @{$thisparser->{deferred}}, $def_at unless $_matched;
  19         51  
7758            
7759 45   66     191 while (!$_matched && !$commit)
7760             {
7761            
7762 19 50       87 Parse::RecDescent::_trace(q{Trying production: ['(' idnumchars ')' {ID}}, $item[1].$item{idnumchars}.$item[3]); }>]},
7763             Parse::RecDescent::_tracefirst($_[1]),
7764             q{idnum},
7765             $tracelevel)
7766             if defined $::RD_TRACE;
7767 19         71 my $thisprod = $thisrule->{"prods"}[1];
7768 19         44 $text = $_[1];
7769 19         33 my $_savetext;
7770 19         53 @item = (q{idnum});
7771 19         70 %item = (__RULE__ => q{idnum});
7772 19         40 my $repcount = 0;
7773              
7774              
7775 19 50       83 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
7776             Parse::RecDescent::_tracefirst($text),
7777             q{idnum},
7778             $tracelevel)
7779             if defined $::RD_TRACE;
7780 19         35 $lastsep = "";
7781 19         67 $expectation->is(q{})->at($text);
7782            
7783              
7784 19 100 66     418 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
  19 100       272  
7785             {
7786            
7787 15         62 $expectation->failed();
7788 15 50       87 Parse::RecDescent::_trace(qq{<>},
7789             Parse::RecDescent::_tracefirst($text))
7790             if defined $::RD_TRACE;
7791 15         35 last;
7792             }
7793 4 50       15 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7794             . $& . q{])},
7795             Parse::RecDescent::_tracefirst($text))
7796             if defined $::RD_TRACE;
7797 4         14 push @item, $item{__STRING1__}=$&;
7798            
7799              
7800 4 50       12 Parse::RecDescent::_trace(q{Trying subrule: [idnumchars]},
7801             Parse::RecDescent::_tracefirst($text),
7802             q{idnum},
7803             $tracelevel)
7804             if defined $::RD_TRACE;
7805 15     15   128 if (1) { no strict qw{refs};
  15         36  
  15         22058  
  4         7  
7806 4         14 $expectation->is(q{idnumchars})->at($text);
7807 4 50   4   46 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::idnumchars($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  4         11  
7808             {
7809            
7810 0 0       0 Parse::RecDescent::_trace(q{<>},
7811             Parse::RecDescent::_tracefirst($text),
7812             q{idnum},
7813             $tracelevel)
7814             if defined $::RD_TRACE;
7815 0         0 $expectation->failed();
7816 0         0 last;
7817             }
7818 4 50       21 Parse::RecDescent::_trace(q{>>Matched subrule: [idnumchars]<< (return value: [}
7819             . $_tok . q{]},
7820            
7821             Parse::RecDescent::_tracefirst($text),
7822             q{idnum},
7823             $tracelevel)
7824             if defined $::RD_TRACE;
7825 4         12 $item{q{idnumchars}} = $_tok;
7826 4         11 push @item, $_tok;
7827            
7828             }
7829              
7830 4 50       15 Parse::RecDescent::_trace(q{Trying terminal: [')']},
7831             Parse::RecDescent::_tracefirst($text),
7832             q{idnum},
7833             $tracelevel)
7834             if defined $::RD_TRACE;
7835 4         11 $lastsep = "";
7836 4         25 $expectation->is(q{')'})->at($text);
7837            
7838              
7839 4 50 33     102 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
  4 50       65  
7840             {
7841            
7842 0         0 $expectation->failed();
7843 0 0       0 Parse::RecDescent::_trace(qq{<>},
7844             Parse::RecDescent::_tracefirst($text))
7845             if defined $::RD_TRACE;
7846 0         0 last;
7847             }
7848 4 50       21 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
7849             . $& . q{])},
7850             Parse::RecDescent::_tracefirst($text))
7851             if defined $::RD_TRACE;
7852 4         15 push @item, $item{__STRING2__}=$&;
7853            
7854              
7855            
7856              
7857 4 50       61 Parse::RecDescent::_trace(q{Trying directive: [{ID}}, $item[1].$item{idnumchars}.$item[3]); }>]},
7858             Parse::RecDescent::_tracefirst($text),
7859             q{idnum},
7860             $tracelevel)
7861             if defined $::RD_TRACE;
7862 4     4   8 $_tok = do { push @{$thisparser->{deferred}}, sub { push (@{$PDF::FDF::Simple::deferred_result_FDF_OPTIONS->{ID}}, $item[1].$item{idnumchars}.$item[3]); }; };
  4         6  
  4         31  
  4         17  
  4         29  
7863 4 50       14 if (defined($_tok))
7864             {
7865 4 50       16 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
7866             . $_tok . q{])},
7867             Parse::RecDescent::_tracefirst($text))
7868             if defined $::RD_TRACE;
7869             }
7870             else
7871             {
7872 0 0       0 Parse::RecDescent::_trace(q{<>},
7873             Parse::RecDescent::_tracefirst($text))
7874             if defined $::RD_TRACE;
7875             }
7876            
7877 4 50       12 last unless defined $_tok;
7878 4         13 push @item, $item{__DIRECTIVE1__}=$_tok;
7879            
7880              
7881              
7882 4 50       13 Parse::RecDescent::_trace(q{>>Matched production: ['(' idnumchars ')' {ID}}, $item[1].$item{idnumchars}.$item[3]); }>]<<},
7883             Parse::RecDescent::_tracefirst($text),
7884             q{idnum},
7885             $tracelevel)
7886             if defined $::RD_TRACE;
7887 4         7 $_matched = 1;
7888 4         15 last;
7889             }
7890              
7891             splice
7892 45 100       134 @{$thisparser->{deferred}}, $def_at unless $_matched;
  15         42  
7893            
7894 45 50 66     259 unless ( $_matched || defined($return) || defined($score) )
      66        
7895             {
7896 15         40 splice @{$thisparser->{deferred}}, $def_at;
  15         38  
7897            
7898              
7899 15         37 $_[1] = $text; # NOT SURE THIS IS NEEDED
7900 15 50       56 Parse::RecDescent::_trace(q{<>},
7901             Parse::RecDescent::_tracefirst($_[1]),
7902             q{idnum},
7903             $tracelevel)
7904             if defined $::RD_TRACE;
7905 15         114 return undef;
7906             }
7907 30 50 33     174 if (!defined($return) && defined($score))
7908             {
7909 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
7910             q{idnum},
7911             $tracelevel)
7912             if defined $::RD_TRACE;
7913 0         0 $return = $score_return;
7914             }
7915 30         43 splice @{$thisparser->{errors}}, $err_at;
  30         80  
7916 30 50       133 $return = $item[$#item] unless defined $return;
7917 30 50       93 if (defined $::RD_TRACE)
7918             {
7919 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
7920             $return . q{])}, "",
7921             q{idnum},
7922             $tracelevel);
7923 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
7924             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
7925             Parse::RecDescent::_tracefirst($text),
7926             , q{idnum},
7927             $tracelevel)
7928             }
7929 30         95 $_[1] = $text;
7930 30         279 return $return;
7931             }
7932              
7933             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
7934             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldvalue
7935             {
7936 846     846   1550 my $thisparser = $_[0];
7937 15     15   107 use vars q{$tracelevel};
  15         32  
  15         15797  
7938 846   50     2578 local $tracelevel = ($tracelevel||0)+1;
7939 846         1170 $ERRORS = 0;
7940 846         2032 my $thisrule = $thisparser->{"rules"}{"fieldvalue"};
7941            
7942 846 50       1886 Parse::RecDescent::_trace(q{Trying rule: [fieldvalue]},
7943             Parse::RecDescent::_tracefirst($_[1]),
7944             q{fieldvalue},
7945             $tracelevel)
7946             if defined $::RD_TRACE;
7947              
7948 846         988 my $def_at = @{$thisparser->{deferred}};
  846         1715  
7949 846         1103 my $err_at = @{$thisparser->{errors}};
  846         1429  
7950              
7951 846         1073 my $score;
7952             my $score_return;
7953 0         0 my $_tok;
7954 846         1103 my $return = undef;
7955 846         1024 my $_matched=0;
7956 846         977 my $commit=0;
7957 846         1478 my @item = ();
7958 846         1290 my %item = ();
7959 846   33     2944 my $repeating = defined($_[2]) && $_[2];
7960 846   33     2464 my $_noactions = defined($_[3]) && $_[3];
7961 846 50       2048 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  846         1102  
  846         1623  
7962 846 50       2644 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
7963 846         1078 my $text;
7964 846         1356 my $lastsep="";
7965 846         2772 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
7966 846         57289 $expectation->at($_[1]);
7967            
7968 846         3570 my $thisline;
7969 846         4365 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
7970              
7971            
7972              
7973 846   33     9090 while (!$_matched && !$commit)
7974             {
7975 846 50       2278 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
7976 846 50       1988 Parse::RecDescent::_trace(q{Trying production: ['/V' '(' value ')']},
7977             Parse::RecDescent::_tracefirst($_[1]),
7978             q{fieldvalue},
7979             $tracelevel)
7980             if defined $::RD_TRACE;
7981 846         1849 my $thisprod = $thisrule->{"prods"}[0];
7982 846         1298 $text = $_[1];
7983 846         1023 my $_savetext;
7984 846         1578 @item = (q{fieldvalue});
7985 846         1936 %item = (__RULE__ => q{fieldvalue});
7986 846         1114 my $repcount = 0;
7987              
7988              
7989 846 50       1880 Parse::RecDescent::_trace(q{Trying terminal: ['/V']},
7990             Parse::RecDescent::_tracefirst($text),
7991             q{fieldvalue},
7992             $tracelevel)
7993             if defined $::RD_TRACE;
7994 846         1365 $lastsep = "";
7995 846         2515 $expectation->is(q{})->at($text);
7996            
7997              
7998 846 100 66     13767 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/V//)
  846 100       13139  
7999             {
8000            
8001 151         461 $expectation->failed();
8002 151 50       726 Parse::RecDescent::_trace(qq{<>},
8003             Parse::RecDescent::_tracefirst($text))
8004             if defined $::RD_TRACE;
8005 151         335 last;
8006             }
8007 695 50       2163 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8008             . $& . q{])},
8009             Parse::RecDescent::_tracefirst($text))
8010             if defined $::RD_TRACE;
8011 695         2347 push @item, $item{__STRING1__}=$&;
8012            
8013              
8014 695 50       1877 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
8015             Parse::RecDescent::_tracefirst($text),
8016             q{fieldvalue},
8017             $tracelevel)
8018             if defined $::RD_TRACE;
8019 695         1111 $lastsep = "";
8020 695         2035 $expectation->is(q{'('})->at($text);
8021            
8022              
8023 695 100 66     7664 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
  695 100       9850  
8024             {
8025            
8026 177         542 $expectation->failed();
8027 177 50       1876 Parse::RecDescent::_trace(qq{<>},
8028             Parse::RecDescent::_tracefirst($text))
8029             if defined $::RD_TRACE;
8030 177         433 last;
8031             }
8032 518 50       1588 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8033             . $& . q{])},
8034             Parse::RecDescent::_tracefirst($text))
8035             if defined $::RD_TRACE;
8036 518         1741 push @item, $item{__STRING2__}=$&;
8037            
8038              
8039            
8040              
8041 518 50       1279 Parse::RecDescent::_trace(q{Trying directive: []},
8042             Parse::RecDescent::_tracefirst($text),
8043             q{fieldvalue},
8044             $tracelevel)
8045             if defined $::RD_TRACE;
8046 518         677 $_tok = do { my $oldskip = $skip; $skip=""; $oldskip };
  518         802  
  518         828  
  518         1026  
8047 518 50       1272 if (defined($_tok))
8048             {
8049 518 50       1249 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
8050             . $_tok . q{])},
8051             Parse::RecDescent::_tracefirst($text))
8052             if defined $::RD_TRACE;
8053             }
8054             else
8055             {
8056 0 0       0 Parse::RecDescent::_trace(q{<>},
8057             Parse::RecDescent::_tracefirst($text))
8058             if defined $::RD_TRACE;
8059             }
8060            
8061 518 50       1186 last unless defined $_tok;
8062 518         4172 push @item, $item{__DIRECTIVE1__}=$_tok;
8063            
8064              
8065 518 50       1150 Parse::RecDescent::_trace(q{Trying subrule: [value]},
8066             Parse::RecDescent::_tracefirst($text),
8067             q{fieldvalue},
8068             $tracelevel)
8069             if defined $::RD_TRACE;
8070 15     15   108 if (1) { no strict qw{refs};
  15         36  
  15         20008  
  518         751  
8071 518         1542 $expectation->is(q{value})->at($text);
8072 518 50   518   6110 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::value($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  518         1440  
8073             {
8074            
8075 0 0       0 Parse::RecDescent::_trace(q{<>},
8076             Parse::RecDescent::_tracefirst($text),
8077             q{fieldvalue},
8078             $tracelevel)
8079             if defined $::RD_TRACE;
8080 0         0 $expectation->failed();
8081 0         0 last;
8082             }
8083 518 50       2771 Parse::RecDescent::_trace(q{>>Matched subrule: [value]<< (return value: [}
8084             . $_tok . q{]},
8085            
8086             Parse::RecDescent::_tracefirst($text),
8087             q{fieldvalue},
8088             $tracelevel)
8089             if defined $::RD_TRACE;
8090 518         1166 $item{q{value}} = $_tok;
8091 518         1075 push @item, $_tok;
8092            
8093             }
8094              
8095            
8096              
8097 518 50       1362 Parse::RecDescent::_trace(q{Trying directive: []},
8098             Parse::RecDescent::_tracefirst($text),
8099             q{fieldvalue},
8100             $tracelevel)
8101             if defined $::RD_TRACE;
8102 518         675 $_tok = do { my $oldskip = $skip; $skip=$item[3]; $oldskip };
  518         875  
  518         1099  
  518         1037  
8103 518 50       2259 if (defined($_tok))
8104             {
8105 518 50       1389 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
8106             . $_tok . q{])},
8107             Parse::RecDescent::_tracefirst($text))
8108             if defined $::RD_TRACE;
8109             }
8110             else
8111             {
8112 0 0       0 Parse::RecDescent::_trace(q{<>},
8113             Parse::RecDescent::_tracefirst($text))
8114             if defined $::RD_TRACE;
8115             }
8116            
8117 518 50       1151 last unless defined $_tok;
8118 518         1811 push @item, $item{__DIRECTIVE2__}=$_tok;
8119            
8120              
8121 518 50       1178 Parse::RecDescent::_trace(q{Trying terminal: [')']},
8122             Parse::RecDescent::_tracefirst($text),
8123             q{fieldvalue},
8124             $tracelevel)
8125             if defined $::RD_TRACE;
8126 518         922 $lastsep = "";
8127 518         1845 $expectation->is(q{')'})->at($text);
8128            
8129              
8130 518 50 33     7285 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
  518 50       9541  
8131             {
8132            
8133 0         0 $expectation->failed();
8134 0 0       0 Parse::RecDescent::_trace(qq{<>},
8135             Parse::RecDescent::_tracefirst($text))
8136             if defined $::RD_TRACE;
8137 0         0 last;
8138             }
8139 518 50       1639 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8140             . $& . q{])},
8141             Parse::RecDescent::_tracefirst($text))
8142             if defined $::RD_TRACE;
8143 518         1971 push @item, $item{__STRING3__}=$&;
8144            
8145              
8146 518 50       1308 Parse::RecDescent::_trace(q{Trying action},
8147             Parse::RecDescent::_tracefirst($text),
8148             q{fieldvalue},
8149             $tracelevel)
8150             if defined $::RD_TRACE;
8151            
8152              
8153 518 50       1252 $_tok = ($_noactions) ? 0 : do {
8154 518         1060 $return = $item{value};
8155 518         1769 $return =~ s/\\(\d{3})/sprintf ("%c", oct($1))/eg; # handle octal
  67         468  
8156             #$return =~ s/\#([0-9A-F]{2})/sprintf ("%c", hex($1))/eg; # handle hex
8157             };
8158 518 50       1468 unless (defined $_tok)
8159             {
8160 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8161             if defined $::RD_TRACE;
8162 0         0 last;
8163             }
8164 518 50       1293 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8165             . $_tok . q{])},
8166             Parse::RecDescent::_tracefirst($text))
8167             if defined $::RD_TRACE;
8168 518         1014 push @item, $_tok;
8169 518         1177 $item{__ACTION1__}=$_tok;
8170            
8171              
8172              
8173 518 50       1172 Parse::RecDescent::_trace(q{>>Matched production: ['/V' '(' value ')']<<},
8174             Parse::RecDescent::_tracefirst($text),
8175             q{fieldvalue},
8176             $tracelevel)
8177             if defined $::RD_TRACE;
8178 518         754 $_matched = 1;
8179 518         1697 last;
8180             }
8181              
8182             splice
8183 846 100       2244 @{$thisparser->{deferred}}, $def_at unless $_matched;
  328         738  
8184            
8185 846   66     2599 while (!$_matched && !$commit)
8186             {
8187            
8188 328 50       910 Parse::RecDescent::_trace(q{Trying production: ['/V' '[' valarray ']']},
8189             Parse::RecDescent::_tracefirst($_[1]),
8190             q{fieldvalue},
8191             $tracelevel)
8192             if defined $::RD_TRACE;
8193 328         635 my $thisprod = $thisrule->{"prods"}[1];
8194 328         611 $text = $_[1];
8195 328         380 my $_savetext;
8196 328         727 @item = (q{fieldvalue});
8197 328         852 %item = (__RULE__ => q{fieldvalue});
8198 328         440 my $repcount = 0;
8199              
8200              
8201 328 50       678 Parse::RecDescent::_trace(q{Trying terminal: ['/V']},
8202             Parse::RecDescent::_tracefirst($text),
8203             q{fieldvalue},
8204             $tracelevel)
8205             if defined $::RD_TRACE;
8206 328         465 $lastsep = "";
8207 328         924 $expectation->is(q{})->at($text);
8208            
8209              
8210 328 100 66     3689 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/V//)
  328 100       3757  
8211             {
8212            
8213 151         458 $expectation->failed();
8214 151 50       796 Parse::RecDescent::_trace(qq{<>},
8215             Parse::RecDescent::_tracefirst($text))
8216             if defined $::RD_TRACE;
8217 151         309 last;
8218             }
8219 177 50       520 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8220             . $& . q{])},
8221             Parse::RecDescent::_tracefirst($text))
8222             if defined $::RD_TRACE;
8223 177         502 push @item, $item{__STRING1__}=$&;
8224            
8225              
8226 177 50       404 Parse::RecDescent::_trace(q{Trying terminal: ['[']},
8227             Parse::RecDescent::_tracefirst($text),
8228             q{fieldvalue},
8229             $tracelevel)
8230             if defined $::RD_TRACE;
8231 177         273 $lastsep = "";
8232 177         508 $expectation->is(q{'['})->at($text);
8233            
8234              
8235 177 100 33     2155 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\[//)
  177 50       1921  
8236             {
8237            
8238 177         499 $expectation->failed();
8239 177 50       1313 Parse::RecDescent::_trace(qq{<>},
8240             Parse::RecDescent::_tracefirst($text))
8241             if defined $::RD_TRACE;
8242 177         381 last;
8243             }
8244 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8245             . $& . q{])},
8246             Parse::RecDescent::_tracefirst($text))
8247             if defined $::RD_TRACE;
8248 0         0 push @item, $item{__STRING2__}=$&;
8249            
8250              
8251 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [valarray]},
8252             Parse::RecDescent::_tracefirst($text),
8253             q{fieldvalue},
8254             $tracelevel)
8255             if defined $::RD_TRACE;
8256 15     15   109 if (1) { no strict qw{refs};
  15         39  
  15         23645  
  0         0  
8257 0         0 $expectation->is(q{valarray})->at($text);
8258 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::valarray($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
8259             {
8260            
8261 0 0       0 Parse::RecDescent::_trace(q{<>},
8262             Parse::RecDescent::_tracefirst($text),
8263             q{fieldvalue},
8264             $tracelevel)
8265             if defined $::RD_TRACE;
8266 0         0 $expectation->failed();
8267 0         0 last;
8268             }
8269 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [valarray]<< (return value: [}
8270             . $_tok . q{]},
8271            
8272             Parse::RecDescent::_tracefirst($text),
8273             q{fieldvalue},
8274             $tracelevel)
8275             if defined $::RD_TRACE;
8276 0         0 $item{q{valarray}} = $_tok;
8277 0         0 push @item, $_tok;
8278            
8279             }
8280              
8281 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [']']},
8282             Parse::RecDescent::_tracefirst($text),
8283             q{fieldvalue},
8284             $tracelevel)
8285             if defined $::RD_TRACE;
8286 0         0 $lastsep = "";
8287 0         0 $expectation->is(q{']'})->at($text);
8288            
8289              
8290 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\]//)
  0 0       0  
8291             {
8292            
8293 0         0 $expectation->failed();
8294 0 0       0 Parse::RecDescent::_trace(qq{<>},
8295             Parse::RecDescent::_tracefirst($text))
8296             if defined $::RD_TRACE;
8297 0         0 last;
8298             }
8299 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8300             . $& . q{])},
8301             Parse::RecDescent::_tracefirst($text))
8302             if defined $::RD_TRACE;
8303 0         0 push @item, $item{__STRING3__}=$&;
8304            
8305              
8306 0 0       0 Parse::RecDescent::_trace(q{Trying action},
8307             Parse::RecDescent::_tracefirst($text),
8308             q{fieldvalue},
8309             $tracelevel)
8310             if defined $::RD_TRACE;
8311            
8312              
8313 0 0       0 $_tok = ($_noactions) ? 0 : do {
8314 0         0 $return = $item{valarray};
8315             };
8316 0 0       0 unless (defined $_tok)
8317             {
8318 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8319             if defined $::RD_TRACE;
8320 0         0 last;
8321             }
8322 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8323             . $_tok . q{])},
8324             Parse::RecDescent::_tracefirst($text))
8325             if defined $::RD_TRACE;
8326 0         0 push @item, $_tok;
8327 0         0 $item{__ACTION1__}=$_tok;
8328            
8329              
8330              
8331 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['/V' '[' valarray ']']<<},
8332             Parse::RecDescent::_tracefirst($text),
8333             q{fieldvalue},
8334             $tracelevel)
8335             if defined $::RD_TRACE;
8336 0         0 $_matched = 1;
8337 0         0 last;
8338             }
8339              
8340             splice
8341 846 100       2131 @{$thisparser->{deferred}}, $def_at unless $_matched;
  328         706  
8342            
8343 846   66     2535 while (!$_matched && !$commit)
8344             {
8345            
8346 328 50       662 Parse::RecDescent::_trace(q{Trying production: ['/V' feature]},
8347             Parse::RecDescent::_tracefirst($_[1]),
8348             q{fieldvalue},
8349             $tracelevel)
8350             if defined $::RD_TRACE;
8351 328         813 my $thisprod = $thisrule->{"prods"}[2];
8352 328         589 $text = $_[1];
8353 328         342 my $_savetext;
8354 328         724 @item = (q{fieldvalue});
8355 328         784 %item = (__RULE__ => q{fieldvalue});
8356 328         399 my $repcount = 0;
8357              
8358              
8359 328 50       687 Parse::RecDescent::_trace(q{Trying terminal: ['/V']},
8360             Parse::RecDescent::_tracefirst($text),
8361             q{fieldvalue},
8362             $tracelevel)
8363             if defined $::RD_TRACE;
8364 328         441 $lastsep = "";
8365 328         876 $expectation->is(q{})->at($text);
8366            
8367              
8368 328 100 66     3503 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/V//)
  328 100       3777  
8369             {
8370            
8371 151         448 $expectation->failed();
8372 151 50       751 Parse::RecDescent::_trace(qq{<>},
8373             Parse::RecDescent::_tracefirst($text))
8374             if defined $::RD_TRACE;
8375 151         365 last;
8376             }
8377 177 50       479 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8378             . $& . q{])},
8379             Parse::RecDescent::_tracefirst($text))
8380             if defined $::RD_TRACE;
8381 177         509 push @item, $item{__STRING1__}=$&;
8382            
8383              
8384 177 50       395 Parse::RecDescent::_trace(q{Trying subrule: [feature]},
8385             Parse::RecDescent::_tracefirst($text),
8386             q{fieldvalue},
8387             $tracelevel)
8388             if defined $::RD_TRACE;
8389 15     15   168 if (1) { no strict qw{refs};
  15         58  
  15         14097  
  177         199  
8390 177         503 $expectation->is(q{feature})->at($text);
8391 177 50   177   1878 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::feature($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  177         383  
8392             {
8393            
8394 0 0       0 Parse::RecDescent::_trace(q{<>},
8395             Parse::RecDescent::_tracefirst($text),
8396             q{fieldvalue},
8397             $tracelevel)
8398             if defined $::RD_TRACE;
8399 0         0 $expectation->failed();
8400 0         0 last;
8401             }
8402 177 50       738 Parse::RecDescent::_trace(q{>>Matched subrule: [feature]<< (return value: [}
8403             . $_tok . q{]},
8404            
8405             Parse::RecDescent::_tracefirst($text),
8406             q{fieldvalue},
8407             $tracelevel)
8408             if defined $::RD_TRACE;
8409 177         384 $item{q{feature}} = $_tok;
8410 177         307 push @item, $_tok;
8411            
8412             }
8413              
8414 177 50       393 Parse::RecDescent::_trace(q{Trying action},
8415             Parse::RecDescent::_tracefirst($text),
8416             q{fieldvalue},
8417             $tracelevel)
8418             if defined $::RD_TRACE;
8419            
8420              
8421 177 50       335 $_tok = ($_noactions) ? 0 : do {
8422 177         454 $return = substr ($item{feature}, 1);
8423 177         245 $return =~ s/\\(\d{3})/sprintf ("%c", oct($1))/eg; # handle octal
  0         0  
8424 177         552 $return =~ s/\#([0-9A-F]{2})/sprintf ("%c", hex($1))/eg; # handle hex
  73         360  
8425             };
8426 177 50       1551 unless (defined $_tok)
8427             {
8428 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8429             if defined $::RD_TRACE;
8430 0         0 last;
8431             }
8432 177 50       356 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8433             . $_tok . q{])},
8434             Parse::RecDescent::_tracefirst($text))
8435             if defined $::RD_TRACE;
8436 177         342 push @item, $_tok;
8437 177         337 $item{__ACTION1__}=$_tok;
8438            
8439              
8440              
8441 177 50       375 Parse::RecDescent::_trace(q{>>Matched production: ['/V' feature]<<},
8442             Parse::RecDescent::_tracefirst($text),
8443             q{fieldvalue},
8444             $tracelevel)
8445             if defined $::RD_TRACE;
8446 177         200 $_matched = 1;
8447 177         320 last;
8448             }
8449              
8450             splice
8451 846 100       2076 @{$thisparser->{deferred}}, $def_at unless $_matched;
  151         329  
8452            
8453 846   66     3325 while (!$_matched && !$commit)
8454             {
8455            
8456 151 50       338 Parse::RecDescent::_trace(q{Trying production: ['/V' objreference]},
8457             Parse::RecDescent::_tracefirst($_[1]),
8458             q{fieldvalue},
8459             $tracelevel)
8460             if defined $::RD_TRACE;
8461 151         311 my $thisprod = $thisrule->{"prods"}[3];
8462 151         297 $text = $_[1];
8463 151         182 my $_savetext;
8464 151         301 @item = (q{fieldvalue});
8465 151         365 %item = (__RULE__ => q{fieldvalue});
8466 151         194 my $repcount = 0;
8467              
8468              
8469 151 50       422 Parse::RecDescent::_trace(q{Trying terminal: ['/V']},
8470             Parse::RecDescent::_tracefirst($text),
8471             q{fieldvalue},
8472             $tracelevel)
8473             if defined $::RD_TRACE;
8474 151         201 $lastsep = "";
8475 151         463 $expectation->is(q{})->at($text);
8476            
8477              
8478 151 100 33     1717 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/V//)
  151 50       7174  
8479             {
8480            
8481 151         632 $expectation->failed();
8482 151 50       683 Parse::RecDescent::_trace(qq{<>},
8483             Parse::RecDescent::_tracefirst($text))
8484             if defined $::RD_TRACE;
8485 151         396 last;
8486             }
8487 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8488             . $& . q{])},
8489             Parse::RecDescent::_tracefirst($text))
8490             if defined $::RD_TRACE;
8491 0         0 push @item, $item{__STRING1__}=$&;
8492            
8493              
8494 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [objreference]},
8495             Parse::RecDescent::_tracefirst($text),
8496             q{fieldvalue},
8497             $tracelevel)
8498             if defined $::RD_TRACE;
8499 15     15   152 if (1) { no strict qw{refs};
  15         57  
  15         21532  
  0         0  
8500 0         0 $expectation->is(q{objreference})->at($text);
8501 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::objreference($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
8502             {
8503            
8504 0 0       0 Parse::RecDescent::_trace(q{<>},
8505             Parse::RecDescent::_tracefirst($text),
8506             q{fieldvalue},
8507             $tracelevel)
8508             if defined $::RD_TRACE;
8509 0         0 $expectation->failed();
8510 0         0 last;
8511             }
8512 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [objreference]<< (return value: [}
8513             . $_tok . q{]},
8514            
8515             Parse::RecDescent::_tracefirst($text),
8516             q{fieldvalue},
8517             $tracelevel)
8518             if defined $::RD_TRACE;
8519 0         0 $item{q{objreference}} = $_tok;
8520 0         0 push @item, $_tok;
8521            
8522             }
8523              
8524              
8525 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['/V' objreference]<<},
8526             Parse::RecDescent::_tracefirst($text),
8527             q{fieldvalue},
8528             $tracelevel)
8529             if defined $::RD_TRACE;
8530 0         0 $_matched = 1;
8531 0         0 last;
8532             }
8533              
8534             splice
8535 846 100       1990 @{$thisparser->{deferred}}, $def_at unless $_matched;
  151         312  
8536            
8537 846 50 66     3083 unless ( $_matched || defined($return) || defined($score) )
      66        
8538             {
8539 151         225 splice @{$thisparser->{deferred}}, $def_at;
  151         296  
8540            
8541              
8542 151         278 $_[1] = $text; # NOT SURE THIS IS NEEDED
8543 151 50       345 Parse::RecDescent::_trace(q{<>},
8544             Parse::RecDescent::_tracefirst($_[1]),
8545             q{fieldvalue},
8546             $tracelevel)
8547             if defined $::RD_TRACE;
8548 151         1279 return undef;
8549             }
8550 695 50 33     2189 if (!defined($return) && defined($score))
8551             {
8552 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8553             q{fieldvalue},
8554             $tracelevel)
8555             if defined $::RD_TRACE;
8556 0         0 $return = $score_return;
8557             }
8558 695         846 splice @{$thisparser->{errors}}, $err_at;
  695         1723  
8559 695 50       1594 $return = $item[$#item] unless defined $return;
8560 695 50       1719 if (defined $::RD_TRACE)
8561             {
8562 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8563             $return . q{])}, "",
8564             q{fieldvalue},
8565             $tracelevel);
8566 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8567             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8568             Parse::RecDescent::_tracefirst($text),
8569             , q{fieldvalue},
8570             $tracelevel)
8571             }
8572 695         1446 $_[1] = $text;
8573 695         8185 return $return;
8574             }
8575              
8576             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
8577             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::idnumchar
8578             {
8579 183     183   215 my $thisparser = $_[0];
8580 15     15   113 use vars q{$tracelevel};
  15         42  
  15         44275  
8581 183   50     396 local $tracelevel = ($tracelevel||0)+1;
8582 183         186 $ERRORS = 0;
8583 183         324 my $thisrule = $thisparser->{"rules"}{"idnumchar"};
8584            
8585 183 50       316 Parse::RecDescent::_trace(q{Trying rule: [idnumchar]},
8586             Parse::RecDescent::_tracefirst($_[1]),
8587             q{idnumchar},
8588             $tracelevel)
8589             if defined $::RD_TRACE;
8590              
8591 183         171 my $def_at = @{$thisparser->{deferred}};
  183         291  
8592 183         199 my $err_at = @{$thisparser->{errors}};
  183         276  
8593              
8594 183         183 my $score;
8595             my $score_return;
8596 0         0 my $_tok;
8597 183         190 my $return = undef;
8598 183         187 my $_matched=0;
8599 183         169 my $commit=0;
8600 183         219 my @item = ();
8601 183         232 my %item = ();
8602 183   33     444 my $repeating = defined($_[2]) && $_[2];
8603 183   33     490 my $_noactions = defined($_[3]) && $_[3];
8604 183 50       306 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  183         167  
  183         319  
8605 183 50       423 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8606 183         178 my $text;
8607 183         215 my $lastsep="";
8608 183         435 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
8609 183         12192 $expectation->at($_[1]);
8610            
8611 183         621 my $thisline;
8612 183         692 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8613              
8614            
8615              
8616 183   33     1504 while (!$_matched && !$commit)
8617             {
8618            
8619 183 50       371 Parse::RecDescent::_trace(q{Trying production: ['\\)']},
8620             Parse::RecDescent::_tracefirst($_[1]),
8621             q{idnumchar},
8622             $tracelevel)
8623             if defined $::RD_TRACE;
8624 183         296 my $thisprod = $thisrule->{"prods"}[0];
8625 183         219 $text = $_[1];
8626 183         159 my $_savetext;
8627 183         290 @item = (q{idnumchar});
8628 183         321 %item = (__RULE__ => q{idnumchar});
8629 183         190 my $repcount = 0;
8630              
8631              
8632 183 50       365 Parse::RecDescent::_trace(q{Trying terminal: ['\\)']},
8633             Parse::RecDescent::_tracefirst($text),
8634             q{idnumchar},
8635             $tracelevel)
8636             if defined $::RD_TRACE;
8637 183         225 $lastsep = "";
8638 183         457 $expectation->is(q{})->at($text);
8639            
8640              
8641 183 50 33     1727 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\)//)
  183 50       1428  
8642             {
8643            
8644 183         448 $expectation->failed();
8645 183 50       731 Parse::RecDescent::_trace(qq{<>},
8646             Parse::RecDescent::_tracefirst($text))
8647             if defined $::RD_TRACE;
8648 183         305 last;
8649             }
8650 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8651             . $& . q{])},
8652             Parse::RecDescent::_tracefirst($text))
8653             if defined $::RD_TRACE;
8654 0         0 push @item, $item{__STRING1__}=$&;
8655            
8656              
8657 0 0       0 Parse::RecDescent::_trace(q{Trying action},
8658             Parse::RecDescent::_tracefirst($text),
8659             q{idnumchar},
8660             $tracelevel)
8661             if defined $::RD_TRACE;
8662            
8663              
8664 0 0       0 $_tok = ($_noactions) ? 0 : do { $return = $item[1]; };
  0         0  
8665 0 0       0 unless (defined $_tok)
8666             {
8667 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8668             if defined $::RD_TRACE;
8669 0         0 last;
8670             }
8671 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8672             . $_tok . q{])},
8673             Parse::RecDescent::_tracefirst($text))
8674             if defined $::RD_TRACE;
8675 0         0 push @item, $_tok;
8676 0         0 $item{__ACTION1__}=$_tok;
8677            
8678              
8679              
8680 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['\\)']<<},
8681             Parse::RecDescent::_tracefirst($text),
8682             q{idnumchar},
8683             $tracelevel)
8684             if defined $::RD_TRACE;
8685 0         0 $_matched = 1;
8686 0         0 last;
8687             }
8688              
8689             splice
8690 183 50       388 @{$thisparser->{deferred}}, $def_at unless $_matched;
  183         344  
8691            
8692 183   33     526 while (!$_matched && !$commit)
8693             {
8694            
8695 183 50       339 Parse::RecDescent::_trace(q{Trying production: ['\\(']},
8696             Parse::RecDescent::_tracefirst($_[1]),
8697             q{idnumchar},
8698             $tracelevel)
8699             if defined $::RD_TRACE;
8700 183         265 my $thisprod = $thisrule->{"prods"}[1];
8701 183         274 $text = $_[1];
8702 183         182 my $_savetext;
8703 183         295 @item = (q{idnumchar});
8704 183         359 %item = (__RULE__ => q{idnumchar});
8705 183         200 my $repcount = 0;
8706              
8707              
8708 183 50       319 Parse::RecDescent::_trace(q{Trying terminal: ['\\(']},
8709             Parse::RecDescent::_tracefirst($text),
8710             q{idnumchar},
8711             $tracelevel)
8712             if defined $::RD_TRACE;
8713 183         209 $lastsep = "";
8714 183         429 $expectation->is(q{})->at($text);
8715            
8716              
8717 183 50 66     1589 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\(//)
  183 100       1328  
8718             {
8719            
8720 182         445 $expectation->failed();
8721 182 50       734 Parse::RecDescent::_trace(qq{<>},
8722             Parse::RecDescent::_tracefirst($text))
8723             if defined $::RD_TRACE;
8724 182         320 last;
8725             }
8726 1 50       6 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8727             . $& . q{])},
8728             Parse::RecDescent::_tracefirst($text))
8729             if defined $::RD_TRACE;
8730 1         5 push @item, $item{__STRING1__}=$&;
8731            
8732              
8733 1 50       5 Parse::RecDescent::_trace(q{Trying action},
8734             Parse::RecDescent::_tracefirst($text),
8735             q{idnumchar},
8736             $tracelevel)
8737             if defined $::RD_TRACE;
8738            
8739              
8740 1 50       3 $_tok = ($_noactions) ? 0 : do { $return = $item[1]; };
  1         4  
8741 1 50       4 unless (defined $_tok)
8742             {
8743 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8744             if defined $::RD_TRACE;
8745 0         0 last;
8746             }
8747 1 50       5 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8748             . $_tok . q{])},
8749             Parse::RecDescent::_tracefirst($text))
8750             if defined $::RD_TRACE;
8751 1         3 push @item, $_tok;
8752 1         5 $item{__ACTION1__}=$_tok;
8753            
8754              
8755              
8756 1 50       5 Parse::RecDescent::_trace(q{>>Matched production: ['\\(']<<},
8757             Parse::RecDescent::_tracefirst($text),
8758             q{idnumchar},
8759             $tracelevel)
8760             if defined $::RD_TRACE;
8761 1         2 $_matched = 1;
8762 1         2 last;
8763             }
8764              
8765             splice
8766 183 100       425 @{$thisparser->{deferred}}, $def_at unless $_matched;
  182         333  
8767            
8768 183   66     533 while (!$_matched && !$commit)
8769             {
8770            
8771 182 50       325 Parse::RecDescent::_trace(q{Trying production: ['\\\\']},
8772             Parse::RecDescent::_tracefirst($_[1]),
8773             q{idnumchar},
8774             $tracelevel)
8775             if defined $::RD_TRACE;
8776 182         266 my $thisprod = $thisrule->{"prods"}[2];
8777 182         240 $text = $_[1];
8778 182         184 my $_savetext;
8779 182         289 @item = (q{idnumchar});
8780 182         330 %item = (__RULE__ => q{idnumchar});
8781 182         194 my $repcount = 0;
8782              
8783              
8784 182 50       344 Parse::RecDescent::_trace(q{Trying terminal: ['\\\\']},
8785             Parse::RecDescent::_tracefirst($text),
8786             q{idnumchar},
8787             $tracelevel)
8788             if defined $::RD_TRACE;
8789 182         212 $lastsep = "";
8790 182         437 $expectation->is(q{})->at($text);
8791            
8792              
8793 182 50 33     1580 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\\//)
  182 50       1312  
8794             {
8795            
8796 182         431 $expectation->failed();
8797 182 50       718 Parse::RecDescent::_trace(qq{<>},
8798             Parse::RecDescent::_tracefirst($text))
8799             if defined $::RD_TRACE;
8800 182         303 last;
8801             }
8802 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8803             . $& . q{])},
8804             Parse::RecDescent::_tracefirst($text))
8805             if defined $::RD_TRACE;
8806 0         0 push @item, $item{__STRING1__}=$&;
8807            
8808              
8809 0 0       0 Parse::RecDescent::_trace(q{Trying action},
8810             Parse::RecDescent::_tracefirst($text),
8811             q{idnumchar},
8812             $tracelevel)
8813             if defined $::RD_TRACE;
8814            
8815              
8816 0 0       0 $_tok = ($_noactions) ? 0 : do { $return = $item[1]; };
  0         0  
8817 0 0       0 unless (defined $_tok)
8818             {
8819 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8820             if defined $::RD_TRACE;
8821 0         0 last;
8822             }
8823 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8824             . $_tok . q{])},
8825             Parse::RecDescent::_tracefirst($text))
8826             if defined $::RD_TRACE;
8827 0         0 push @item, $_tok;
8828 0         0 $item{__ACTION1__}=$_tok;
8829            
8830              
8831              
8832 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['\\\\']<<},
8833             Parse::RecDescent::_tracefirst($text),
8834             q{idnumchar},
8835             $tracelevel)
8836             if defined $::RD_TRACE;
8837 0         0 $_matched = 1;
8838 0         0 last;
8839             }
8840              
8841             splice
8842 183 100       376 @{$thisparser->{deferred}}, $def_at unless $_matched;
  182         297  
8843            
8844 183   66     567 while (!$_matched && !$commit)
8845             {
8846            
8847 182 50       316 Parse::RecDescent::_trace(q{Trying production: [/[^()]/]},
8848             Parse::RecDescent::_tracefirst($_[1]),
8849             q{idnumchar},
8850             $tracelevel)
8851             if defined $::RD_TRACE;
8852 182         268 my $thisprod = $thisrule->{"prods"}[3];
8853 182         245 $text = $_[1];
8854 182         165 my $_savetext;
8855 182         309 @item = (q{idnumchar});
8856 182         360 %item = (__RULE__ => q{idnumchar});
8857 182         201 my $repcount = 0;
8858              
8859              
8860 182 50       314 Parse::RecDescent::_trace(q{Trying terminal: [/[^()]/]}, Parse::RecDescent::_tracefirst($text),
8861             q{idnumchar},
8862             $tracelevel)
8863             if defined $::RD_TRACE;
8864 182         187 $lastsep = "";
8865 182         469 $expectation->is(q{})->at($text);
8866            
8867              
8868 182 50 66     1492 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[^()])//)
  182 100       1624  
8869             {
8870            
8871 4         16 $expectation->failed();
8872 4 50       22 Parse::RecDescent::_trace(q{<>},
8873             Parse::RecDescent::_tracefirst($text))
8874             if defined $::RD_TRACE;
8875              
8876 4         9 last;
8877             }
8878 178 50       419 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
8879             . $& . q{])},
8880             Parse::RecDescent::_tracefirst($text))
8881             if defined $::RD_TRACE;
8882 178         466 push @item, $item{__PATTERN1__}=$&;
8883            
8884              
8885 178 50       316 Parse::RecDescent::_trace(q{Trying action},
8886             Parse::RecDescent::_tracefirst($text),
8887             q{idnumchar},
8888             $tracelevel)
8889             if defined $::RD_TRACE;
8890            
8891              
8892 178 50       277 $_tok = ($_noactions) ? 0 : do { $return = $item[1]; };
  178         369  
8893 178 50       381 unless (defined $_tok)
8894             {
8895 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
8896             if defined $::RD_TRACE;
8897 0         0 last;
8898             }
8899 178 50       313 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
8900             . $_tok . q{])},
8901             Parse::RecDescent::_tracefirst($text))
8902             if defined $::RD_TRACE;
8903 178         223 push @item, $_tok;
8904 178         324 $item{__ACTION1__}=$_tok;
8905            
8906              
8907              
8908 178 50       308 Parse::RecDescent::_trace(q{>>Matched production: [/[^()]/]<<},
8909             Parse::RecDescent::_tracefirst($text),
8910             q{idnumchar},
8911             $tracelevel)
8912             if defined $::RD_TRACE;
8913 178         194 $_matched = 1;
8914 178         280 last;
8915             }
8916              
8917             splice
8918 183 100       335 @{$thisparser->{deferred}}, $def_at unless $_matched;
  4         11  
8919            
8920 183 50 66     425 unless ( $_matched || defined($return) || defined($score) )
      66        
8921             {
8922 4         6 splice @{$thisparser->{deferred}}, $def_at;
  4         11  
8923            
8924              
8925 4         10 $_[1] = $text; # NOT SURE THIS IS NEEDED
8926 4 50       37 Parse::RecDescent::_trace(q{<>},
8927             Parse::RecDescent::_tracefirst($_[1]),
8928             q{idnumchar},
8929             $tracelevel)
8930             if defined $::RD_TRACE;
8931 4         34 return undef;
8932             }
8933 179 50 33     394 if (!defined($return) && defined($score))
8934             {
8935 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
8936             q{idnumchar},
8937             $tracelevel)
8938             if defined $::RD_TRACE;
8939 0         0 $return = $score_return;
8940             }
8941 179         182 splice @{$thisparser->{errors}}, $err_at;
  179         311  
8942 179 50       363 $return = $item[$#item] unless defined $return;
8943 179 50       345 if (defined $::RD_TRACE)
8944             {
8945 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
8946             $return . q{])}, "",
8947             q{idnumchar},
8948             $tracelevel);
8949 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
8950             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
8951             Parse::RecDescent::_tracefirst($text),
8952             , q{idnumchar},
8953             $tracelevel)
8954             }
8955 179         279 $_[1] = $text;
8956 179         1393 return $return;
8957             }
8958              
8959             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
8960             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::garbage
8961             {
8962 16     16   41 my $thisparser = $_[0];
8963 15     15   139 use vars q{$tracelevel};
  15         32  
  15         18828  
8964 16   50     71 local $tracelevel = ($tracelevel||0)+1;
8965 16         34 $ERRORS = 0;
8966 16         106 my $thisrule = $thisparser->{"rules"}{"garbage"};
8967            
8968 16 50       61 Parse::RecDescent::_trace(q{Trying rule: [garbage]},
8969             Parse::RecDescent::_tracefirst($_[1]),
8970             q{garbage},
8971             $tracelevel)
8972             if defined $::RD_TRACE;
8973              
8974 16         43 my $def_at = @{$thisparser->{deferred}};
  16         46  
8975 16         34 my $err_at = @{$thisparser->{errors}};
  16         43  
8976              
8977 16         33 my $score;
8978             my $score_return;
8979 0         0 my $_tok;
8980 16         34 my $return = undef;
8981 16         27 my $_matched=0;
8982 16         26 my $commit=0;
8983 16         40 my @item = ();
8984 16         38 my %item = ();
8985 16   33     103 my $repeating = defined($_[2]) && $_[2];
8986 16   33     95 my $_noactions = defined($_[3]) && $_[3];
8987 16 50       64 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  16         27  
  16         52  
8988 16 50       78 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
8989 16         23 my $text;
8990 16         39 my $lastsep="";
8991 16         77 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
8992 16         741 $expectation->at($_[1]);
8993            
8994 16         78 my $thisline;
8995 16         96 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
8996              
8997            
8998              
8999 16   33     232 while (!$_matched && !$commit)
9000             {
9001            
9002 16 50       64 Parse::RecDescent::_trace(q{Trying production: [/%[^0-9]*/]},
9003             Parse::RecDescent::_tracefirst($_[1]),
9004             q{garbage},
9005             $tracelevel)
9006             if defined $::RD_TRACE;
9007 16         45 my $thisprod = $thisrule->{"prods"}[0];
9008 16         31 $text = $_[1];
9009 16         31 my $_savetext;
9010 16         44 @item = (q{garbage});
9011 16         54 %item = (__RULE__ => q{garbage});
9012 16         33 my $repcount = 0;
9013              
9014              
9015 16 50       76 Parse::RecDescent::_trace(q{Trying terminal: [/%[^0-9]*/]}, Parse::RecDescent::_tracefirst($text),
9016             q{garbage},
9017             $tracelevel)
9018             if defined $::RD_TRACE;
9019 16         33 $lastsep = "";
9020 16         67 $expectation->is(q{})->at($text);
9021            
9022              
9023 16 50 66     323 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:%[^0-9]*)//)
  16 100       391  
9024             {
9025            
9026 4         21 $expectation->failed();
9027 4 50       35 Parse::RecDescent::_trace(q{<>},
9028             Parse::RecDescent::_tracefirst($text))
9029             if defined $::RD_TRACE;
9030              
9031 4         21 last;
9032             }
9033 12 50       58 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9034             . $& . q{])},
9035             Parse::RecDescent::_tracefirst($text))
9036             if defined $::RD_TRACE;
9037 12         49 push @item, $item{__PATTERN1__}=$&;
9038            
9039              
9040              
9041 12 50       47 Parse::RecDescent::_trace(q{>>Matched production: [/%[^0-9]*/]<<},
9042             Parse::RecDescent::_tracefirst($text),
9043             q{garbage},
9044             $tracelevel)
9045             if defined $::RD_TRACE;
9046 12         24 $_matched = 1;
9047 12         40 last;
9048             }
9049              
9050             splice
9051 16 100       76 @{$thisparser->{deferred}}, $def_at unless $_matched;
  4         16  
9052            
9053 16   66     148 while (!$_matched && !$commit)
9054             {
9055            
9056 4 50       19 Parse::RecDescent::_trace(q{Trying production: []},
9057             Parse::RecDescent::_tracefirst($_[1]),
9058             q{garbage},
9059             $tracelevel)
9060             if defined $::RD_TRACE;
9061 4         14 my $thisprod = $thisrule->{"prods"}[1];
9062 4         10 $text = $_[1];
9063 4         10 my $_savetext;
9064 4         13 @item = (q{garbage});
9065 4         18 %item = (__RULE__ => q{garbage});
9066 4         10 my $repcount = 0;
9067              
9068              
9069              
9070 4 50       18 Parse::RecDescent::_trace(q{>>Matched production: []<<},
9071             Parse::RecDescent::_tracefirst($text),
9072             q{garbage},
9073             $tracelevel)
9074             if defined $::RD_TRACE;
9075 4         16 $_matched = 1;
9076 4         11 last;
9077             }
9078              
9079             splice
9080 16 50       67 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
9081            
9082 16 0 33     187 unless ( $_matched || defined($return) || defined($score) )
      33        
9083             {
9084 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
9085            
9086              
9087 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
9088 0 0       0 Parse::RecDescent::_trace(q{<>},
9089             Parse::RecDescent::_tracefirst($_[1]),
9090             q{garbage},
9091             $tracelevel)
9092             if defined $::RD_TRACE;
9093 0         0 return undef;
9094             }
9095 16 50 33     131 if (!defined($return) && defined($score))
9096             {
9097 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9098             q{garbage},
9099             $tracelevel)
9100             if defined $::RD_TRACE;
9101 0         0 $return = $score_return;
9102             }
9103 16         31 splice @{$thisparser->{errors}}, $err_at;
  16         59  
9104 16 50       74 $return = $item[$#item] unless defined $return;
9105 16 50       66 if (defined $::RD_TRACE)
9106             {
9107 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9108             $return . q{])}, "",
9109             q{garbage},
9110             $tracelevel);
9111 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9112             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9113             Parse::RecDescent::_tracefirst($text),
9114             , q{garbage},
9115             $tracelevel)
9116             }
9117 16         45 $_[1] = $text;
9118 16         417 return $return;
9119             }
9120              
9121             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
9122             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::paramvalue
9123             {
9124 0     0   0 my $thisparser = $_[0];
9125 15     15   115 use vars q{$tracelevel};
  15         35  
  15         41389  
9126 0   0     0 local $tracelevel = ($tracelevel||0)+1;
9127 0         0 $ERRORS = 0;
9128 0         0 my $thisrule = $thisparser->{"rules"}{"paramvalue"};
9129            
9130 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [paramvalue]},
9131             Parse::RecDescent::_tracefirst($_[1]),
9132             q{paramvalue},
9133             $tracelevel)
9134             if defined $::RD_TRACE;
9135              
9136 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
9137 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
9138              
9139 0         0 my $score;
9140             my $score_return;
9141 0         0 my $_tok;
9142 0         0 my $return = undef;
9143 0         0 my $_matched=0;
9144 0         0 my $commit=0;
9145 0         0 my @item = ();
9146 0         0 my %item = ();
9147 0   0     0 my $repeating = defined($_[2]) && $_[2];
9148 0   0     0 my $_noactions = defined($_[3]) && $_[3];
9149 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
9150 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9151 0         0 my $text;
9152 0         0 my $lastsep="";
9153 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
9154 0         0 $expectation->at($_[1]);
9155            
9156 0         0 my $thisline;
9157 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9158              
9159            
9160              
9161 0   0     0 while (!$_matched && !$commit)
9162             {
9163            
9164 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['(' m#[^)]*# ')']},
9165             Parse::RecDescent::_tracefirst($_[1]),
9166             q{paramvalue},
9167             $tracelevel)
9168             if defined $::RD_TRACE;
9169 0         0 my $thisprod = $thisrule->{"prods"}[0];
9170 0         0 $text = $_[1];
9171 0         0 my $_savetext;
9172 0         0 @item = (q{paramvalue});
9173 0         0 %item = (__RULE__ => q{paramvalue});
9174 0         0 my $repcount = 0;
9175              
9176              
9177 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
9178             Parse::RecDescent::_tracefirst($text),
9179             q{paramvalue},
9180             $tracelevel)
9181             if defined $::RD_TRACE;
9182 0         0 $lastsep = "";
9183 0         0 $expectation->is(q{})->at($text);
9184            
9185              
9186 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
  0 0       0  
9187             {
9188            
9189 0         0 $expectation->failed();
9190 0 0       0 Parse::RecDescent::_trace(qq{<>},
9191             Parse::RecDescent::_tracefirst($text))
9192             if defined $::RD_TRACE;
9193 0         0 last;
9194             }
9195 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9196             . $& . q{])},
9197             Parse::RecDescent::_tracefirst($text))
9198             if defined $::RD_TRACE;
9199 0         0 push @item, $item{__STRING1__}=$&;
9200            
9201              
9202 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [m#[^)]*#]}, Parse::RecDescent::_tracefirst($text),
9203             q{paramvalue},
9204             $tracelevel)
9205             if defined $::RD_TRACE;
9206 0         0 $lastsep = "";
9207 0         0 $expectation->is(q{m#[^)]*#})->at($text);
9208            
9209              
9210 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s#\A(?:[^)]*)##)
  0 0       0  
9211             {
9212            
9213 0         0 $expectation->failed();
9214 0 0       0 Parse::RecDescent::_trace(q{<>},
9215             Parse::RecDescent::_tracefirst($text))
9216             if defined $::RD_TRACE;
9217              
9218 0         0 last;
9219             }
9220 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9221             . $& . q{])},
9222             Parse::RecDescent::_tracefirst($text))
9223             if defined $::RD_TRACE;
9224 0         0 push @item, $item{__PATTERN1__}=$&;
9225            
9226              
9227 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [')']},
9228             Parse::RecDescent::_tracefirst($text),
9229             q{paramvalue},
9230             $tracelevel)
9231             if defined $::RD_TRACE;
9232 0         0 $lastsep = "";
9233 0         0 $expectation->is(q{')'})->at($text);
9234            
9235              
9236 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
  0 0       0  
9237             {
9238            
9239 0         0 $expectation->failed();
9240 0 0       0 Parse::RecDescent::_trace(qq{<>},
9241             Parse::RecDescent::_tracefirst($text))
9242             if defined $::RD_TRACE;
9243 0         0 last;
9244             }
9245 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9246             . $& . q{])},
9247             Parse::RecDescent::_tracefirst($text))
9248             if defined $::RD_TRACE;
9249 0         0 push @item, $item{__STRING2__}=$&;
9250            
9251              
9252              
9253 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['(' m#[^)]*# ')']<<},
9254             Parse::RecDescent::_tracefirst($text),
9255             q{paramvalue},
9256             $tracelevel)
9257             if defined $::RD_TRACE;
9258 0         0 $_matched = 1;
9259 0         0 last;
9260             }
9261              
9262             splice
9263 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
9264            
9265 0   0     0 while (!$_matched && !$commit)
9266             {
9267            
9268 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['<' m#\\w*# '>']},
9269             Parse::RecDescent::_tracefirst($_[1]),
9270             q{paramvalue},
9271             $tracelevel)
9272             if defined $::RD_TRACE;
9273 0         0 my $thisprod = $thisrule->{"prods"}[1];
9274 0         0 $text = $_[1];
9275 0         0 my $_savetext;
9276 0         0 @item = (q{paramvalue});
9277 0         0 %item = (__RULE__ => q{paramvalue});
9278 0         0 my $repcount = 0;
9279              
9280              
9281 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['<']},
9282             Parse::RecDescent::_tracefirst($text),
9283             q{paramvalue},
9284             $tracelevel)
9285             if defined $::RD_TRACE;
9286 0         0 $lastsep = "";
9287 0         0 $expectation->is(q{})->at($text);
9288            
9289              
9290 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\
  0 0       0  
9291             {
9292            
9293 0         0 $expectation->failed();
9294 0 0       0 Parse::RecDescent::_trace(qq{<>},
9295             Parse::RecDescent::_tracefirst($text))
9296             if defined $::RD_TRACE;
9297 0         0 last;
9298             }
9299 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9300             . $& . q{])},
9301             Parse::RecDescent::_tracefirst($text))
9302             if defined $::RD_TRACE;
9303 0         0 push @item, $item{__STRING1__}=$&;
9304            
9305              
9306 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [m#\\w*#]}, Parse::RecDescent::_tracefirst($text),
9307             q{paramvalue},
9308             $tracelevel)
9309             if defined $::RD_TRACE;
9310 0         0 $lastsep = "";
9311 0         0 $expectation->is(q{m#\\w*#})->at($text);
9312            
9313              
9314 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s#\A(?:\w*)##)
  0 0       0  
9315             {
9316            
9317 0         0 $expectation->failed();
9318 0 0       0 Parse::RecDescent::_trace(q{<>},
9319             Parse::RecDescent::_tracefirst($text))
9320             if defined $::RD_TRACE;
9321              
9322 0         0 last;
9323             }
9324 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9325             . $& . q{])},
9326             Parse::RecDescent::_tracefirst($text))
9327             if defined $::RD_TRACE;
9328 0         0 push @item, $item{__PATTERN1__}=$&;
9329            
9330              
9331 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['>']},
9332             Parse::RecDescent::_tracefirst($text),
9333             q{paramvalue},
9334             $tracelevel)
9335             if defined $::RD_TRACE;
9336 0         0 $lastsep = "";
9337 0         0 $expectation->is(q{'>'})->at($text);
9338            
9339              
9340 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>//)
  0 0       0  
9341             {
9342            
9343 0         0 $expectation->failed();
9344 0 0       0 Parse::RecDescent::_trace(qq{<>},
9345             Parse::RecDescent::_tracefirst($text))
9346             if defined $::RD_TRACE;
9347 0         0 last;
9348             }
9349 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9350             . $& . q{])},
9351             Parse::RecDescent::_tracefirst($text))
9352             if defined $::RD_TRACE;
9353 0         0 push @item, $item{__STRING2__}=$&;
9354            
9355              
9356              
9357 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['<' m#\\w*# '>']<<},
9358             Parse::RecDescent::_tracefirst($text),
9359             q{paramvalue},
9360             $tracelevel)
9361             if defined $::RD_TRACE;
9362 0         0 $_matched = 1;
9363 0         0 last;
9364             }
9365              
9366             splice
9367 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
9368            
9369 0   0     0 while (!$_matched && !$commit)
9370             {
9371            
9372 0 0       0 Parse::RecDescent::_trace(q{Trying production: [m#\\w+#]},
9373             Parse::RecDescent::_tracefirst($_[1]),
9374             q{paramvalue},
9375             $tracelevel)
9376             if defined $::RD_TRACE;
9377 0         0 my $thisprod = $thisrule->{"prods"}[2];
9378 0         0 $text = $_[1];
9379 0         0 my $_savetext;
9380 0         0 @item = (q{paramvalue});
9381 0         0 %item = (__RULE__ => q{paramvalue});
9382 0         0 my $repcount = 0;
9383              
9384              
9385 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [m#\\w+#]}, Parse::RecDescent::_tracefirst($text),
9386             q{paramvalue},
9387             $tracelevel)
9388             if defined $::RD_TRACE;
9389 0         0 $lastsep = "";
9390 0         0 $expectation->is(q{})->at($text);
9391            
9392              
9393 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s#\A(?:\w+)##)
  0 0       0  
9394             {
9395            
9396 0         0 $expectation->failed();
9397 0 0       0 Parse::RecDescent::_trace(q{<>},
9398             Parse::RecDescent::_tracefirst($text))
9399             if defined $::RD_TRACE;
9400              
9401 0         0 last;
9402             }
9403 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9404             . $& . q{])},
9405             Parse::RecDescent::_tracefirst($text))
9406             if defined $::RD_TRACE;
9407 0         0 push @item, $item{__PATTERN1__}=$&;
9408            
9409              
9410              
9411 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [m#\\w+#]<<},
9412             Parse::RecDescent::_tracefirst($text),
9413             q{paramvalue},
9414             $tracelevel)
9415             if defined $::RD_TRACE;
9416 0         0 $_matched = 1;
9417 0         0 last;
9418             }
9419              
9420             splice
9421 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
9422            
9423 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
9424             {
9425 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
9426            
9427              
9428 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
9429 0 0       0 Parse::RecDescent::_trace(q{<>},
9430             Parse::RecDescent::_tracefirst($_[1]),
9431             q{paramvalue},
9432             $tracelevel)
9433             if defined $::RD_TRACE;
9434 0         0 return undef;
9435             }
9436 0 0 0     0 if (!defined($return) && defined($score))
9437             {
9438 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9439             q{paramvalue},
9440             $tracelevel)
9441             if defined $::RD_TRACE;
9442 0         0 $return = $score_return;
9443             }
9444 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
9445 0 0       0 $return = $item[$#item] unless defined $return;
9446 0 0       0 if (defined $::RD_TRACE)
9447             {
9448 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9449             $return . q{])}, "",
9450             q{paramvalue},
9451             $tracelevel);
9452 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9453             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9454             Parse::RecDescent::_tracefirst($text),
9455             , q{paramvalue},
9456             $tracelevel)
9457             }
9458 0         0 $_[1] = $text;
9459 0         0 return $return;
9460             }
9461              
9462             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
9463             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::filter
9464             {
9465 0     0   0 my $thisparser = $_[0];
9466 15     15   163 use vars q{$tracelevel};
  15         32  
  15         10135  
9467 0   0     0 local $tracelevel = ($tracelevel||0)+1;
9468 0         0 $ERRORS = 0;
9469 0         0 my $thisrule = $thisparser->{"rules"}{"filter"};
9470            
9471 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [filter]},
9472             Parse::RecDescent::_tracefirst($_[1]),
9473             q{filter},
9474             $tracelevel)
9475             if defined $::RD_TRACE;
9476              
9477 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
9478 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
9479              
9480 0         0 my $score;
9481             my $score_return;
9482 0         0 my $_tok;
9483 0         0 my $return = undef;
9484 0         0 my $_matched=0;
9485 0         0 my $commit=0;
9486 0         0 my @item = ();
9487 0         0 my %item = ();
9488 0   0     0 my $repeating = defined($_[2]) && $_[2];
9489 0   0     0 my $_noactions = defined($_[3]) && $_[3];
9490 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
9491 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9492 0         0 my $text;
9493 0         0 my $lastsep="";
9494 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
9495 0         0 $expectation->at($_[1]);
9496            
9497 0         0 my $thisline;
9498 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9499              
9500            
9501              
9502 0   0     0 while (!$_matched && !$commit)
9503             {
9504            
9505 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['/Filter' filtertype]},
9506             Parse::RecDescent::_tracefirst($_[1]),
9507             q{filter},
9508             $tracelevel)
9509             if defined $::RD_TRACE;
9510 0         0 my $thisprod = $thisrule->{"prods"}[0];
9511 0         0 $text = $_[1];
9512 0         0 my $_savetext;
9513 0         0 @item = (q{filter});
9514 0         0 %item = (__RULE__ => q{filter});
9515 0         0 my $repcount = 0;
9516              
9517              
9518 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/Filter']},
9519             Parse::RecDescent::_tracefirst($text),
9520             q{filter},
9521             $tracelevel)
9522             if defined $::RD_TRACE;
9523 0         0 $lastsep = "";
9524 0         0 $expectation->is(q{})->at($text);
9525            
9526              
9527 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/Filter//)
  0 0       0  
9528             {
9529            
9530 0         0 $expectation->failed();
9531 0 0       0 Parse::RecDescent::_trace(qq{<>},
9532             Parse::RecDescent::_tracefirst($text))
9533             if defined $::RD_TRACE;
9534 0         0 last;
9535             }
9536 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9537             . $& . q{])},
9538             Parse::RecDescent::_tracefirst($text))
9539             if defined $::RD_TRACE;
9540 0         0 push @item, $item{__STRING1__}=$&;
9541            
9542              
9543 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [filtertype]},
9544             Parse::RecDescent::_tracefirst($text),
9545             q{filter},
9546             $tracelevel)
9547             if defined $::RD_TRACE;
9548 15     15   116 if (1) { no strict qw{refs};
  15         37  
  15         9521  
  0         0  
9549 0         0 $expectation->is(q{filtertype})->at($text);
9550 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::filtertype($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
9551             {
9552            
9553 0 0       0 Parse::RecDescent::_trace(q{<>},
9554             Parse::RecDescent::_tracefirst($text),
9555             q{filter},
9556             $tracelevel)
9557             if defined $::RD_TRACE;
9558 0         0 $expectation->failed();
9559 0         0 last;
9560             }
9561 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [filtertype]<< (return value: [}
9562             . $_tok . q{]},
9563            
9564             Parse::RecDescent::_tracefirst($text),
9565             q{filter},
9566             $tracelevel)
9567             if defined $::RD_TRACE;
9568 0         0 $item{q{filtertype}} = $_tok;
9569 0         0 push @item, $_tok;
9570            
9571             }
9572              
9573              
9574 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['/Filter' filtertype]<<},
9575             Parse::RecDescent::_tracefirst($text),
9576             q{filter},
9577             $tracelevel)
9578             if defined $::RD_TRACE;
9579 0         0 $_matched = 1;
9580 0         0 last;
9581             }
9582              
9583             splice
9584 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
9585            
9586 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
9587             {
9588 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
9589            
9590              
9591 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
9592 0 0       0 Parse::RecDescent::_trace(q{<>},
9593             Parse::RecDescent::_tracefirst($_[1]),
9594             q{filter},
9595             $tracelevel)
9596             if defined $::RD_TRACE;
9597 0         0 return undef;
9598             }
9599 0 0 0     0 if (!defined($return) && defined($score))
9600             {
9601 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9602             q{filter},
9603             $tracelevel)
9604             if defined $::RD_TRACE;
9605 0         0 $return = $score_return;
9606             }
9607 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
9608 0 0       0 $return = $item[$#item] unless defined $return;
9609 0 0       0 if (defined $::RD_TRACE)
9610             {
9611 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9612             $return . q{])}, "",
9613             q{filter},
9614             $tracelevel);
9615 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9616             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9617             Parse::RecDescent::_tracefirst($text),
9618             , q{filter},
9619             $tracelevel)
9620             }
9621 0         0 $_[1] = $text;
9622 0         0 return $return;
9623             }
9624              
9625             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
9626             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::paramname
9627             {
9628 0     0   0 my $thisparser = $_[0];
9629 15     15   101 use vars q{$tracelevel};
  15         35  
  15         19790  
9630 0   0     0 local $tracelevel = ($tracelevel||0)+1;
9631 0         0 $ERRORS = 0;
9632 0         0 my $thisrule = $thisparser->{"rules"}{"paramname"};
9633            
9634 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [paramname]},
9635             Parse::RecDescent::_tracefirst($_[1]),
9636             q{paramname},
9637             $tracelevel)
9638             if defined $::RD_TRACE;
9639              
9640 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
9641 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
9642              
9643 0         0 my $score;
9644             my $score_return;
9645 0         0 my $_tok;
9646 0         0 my $return = undef;
9647 0         0 my $_matched=0;
9648 0         0 my $commit=0;
9649 0         0 my @item = ();
9650 0         0 my %item = ();
9651 0   0     0 my $repeating = defined($_[2]) && $_[2];
9652 0   0     0 my $_noactions = defined($_[3]) && $_[3];
9653 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
9654 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9655 0         0 my $text;
9656 0         0 my $lastsep="";
9657 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
9658 0         0 $expectation->at($_[1]);
9659            
9660 0         0 my $thisline;
9661 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9662              
9663            
9664              
9665 0   0     0 while (!$_matched && !$commit)
9666             {
9667            
9668 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['/' m#\\w+#]},
9669             Parse::RecDescent::_tracefirst($_[1]),
9670             q{paramname},
9671             $tracelevel)
9672             if defined $::RD_TRACE;
9673 0         0 my $thisprod = $thisrule->{"prods"}[0];
9674 0         0 $text = $_[1];
9675 0         0 my $_savetext;
9676 0         0 @item = (q{paramname});
9677 0         0 %item = (__RULE__ => q{paramname});
9678 0         0 my $repcount = 0;
9679              
9680              
9681 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/']},
9682             Parse::RecDescent::_tracefirst($text),
9683             q{paramname},
9684             $tracelevel)
9685             if defined $::RD_TRACE;
9686 0         0 $lastsep = "";
9687 0         0 $expectation->is(q{})->at($text);
9688            
9689              
9690 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\///)
  0 0       0  
9691             {
9692            
9693 0         0 $expectation->failed();
9694 0 0       0 Parse::RecDescent::_trace(qq{<>},
9695             Parse::RecDescent::_tracefirst($text))
9696             if defined $::RD_TRACE;
9697 0         0 last;
9698             }
9699 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9700             . $& . q{])},
9701             Parse::RecDescent::_tracefirst($text))
9702             if defined $::RD_TRACE;
9703 0         0 push @item, $item{__STRING1__}=$&;
9704            
9705              
9706 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [m#\\w+#]}, Parse::RecDescent::_tracefirst($text),
9707             q{paramname},
9708             $tracelevel)
9709             if defined $::RD_TRACE;
9710 0         0 $lastsep = "";
9711 0         0 $expectation->is(q{m#\\w+#})->at($text);
9712            
9713              
9714 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s#\A(?:\w+)##)
  0 0       0  
9715             {
9716            
9717 0         0 $expectation->failed();
9718 0 0       0 Parse::RecDescent::_trace(q{<>},
9719             Parse::RecDescent::_tracefirst($text))
9720             if defined $::RD_TRACE;
9721              
9722 0         0 last;
9723             }
9724 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9725             . $& . q{])},
9726             Parse::RecDescent::_tracefirst($text))
9727             if defined $::RD_TRACE;
9728 0         0 push @item, $item{__PATTERN1__}=$&;
9729            
9730              
9731              
9732 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['/' m#\\w+#]<<},
9733             Parse::RecDescent::_tracefirst($text),
9734             q{paramname},
9735             $tracelevel)
9736             if defined $::RD_TRACE;
9737 0         0 $_matched = 1;
9738 0         0 last;
9739             }
9740              
9741             splice
9742 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
9743            
9744 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
9745             {
9746 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
9747            
9748              
9749 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
9750 0 0       0 Parse::RecDescent::_trace(q{<>},
9751             Parse::RecDescent::_tracefirst($_[1]),
9752             q{paramname},
9753             $tracelevel)
9754             if defined $::RD_TRACE;
9755 0         0 return undef;
9756             }
9757 0 0 0     0 if (!defined($return) && defined($score))
9758             {
9759 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
9760             q{paramname},
9761             $tracelevel)
9762             if defined $::RD_TRACE;
9763 0         0 $return = $score_return;
9764             }
9765 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
9766 0 0       0 $return = $item[$#item] unless defined $return;
9767 0 0       0 if (defined $::RD_TRACE)
9768             {
9769 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
9770             $return . q{])}, "",
9771             q{paramname},
9772             $tracelevel);
9773 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
9774             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
9775             Parse::RecDescent::_tracefirst($text),
9776             , q{paramname},
9777             $tracelevel)
9778             }
9779 0         0 $_[1] = $text;
9780 0         0 return $return;
9781             }
9782              
9783             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
9784             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldlist
9785             {
9786 870     870   1748 my $thisparser = $_[0];
9787 15     15   111 use vars q{$tracelevel};
  15         40  
  15         6529  
9788 870   50     2961 local $tracelevel = ($tracelevel||0)+1;
9789 870         1273 $ERRORS = 0;
9790 870         2178 my $thisrule = $thisparser->{"rules"}{"fieldlist"};
9791            
9792 870 50       1991 Parse::RecDescent::_trace(q{Trying rule: [fieldlist]},
9793             Parse::RecDescent::_tracefirst($_[1]),
9794             q{fieldlist},
9795             $tracelevel)
9796             if defined $::RD_TRACE;
9797              
9798 870         1075 my $def_at = @{$thisparser->{deferred}};
  870         1942  
9799 870         1029 my $err_at = @{$thisparser->{errors}};
  870         3005  
9800              
9801 870         1495 my $score;
9802             my $score_return;
9803 0         0 my $_tok;
9804 870         6046 my $return = undef;
9805 870         1271 my $_matched=0;
9806 870         1026 my $commit=0;
9807 870         1435 my @item = ();
9808 870         1429 my %item = ();
9809 870   33     3146 my $repeating = defined($_[2]) && $_[2];
9810 870   33     2872 my $_noactions = defined($_[3]) && $_[3];
9811 870 50       2000 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  870         1073  
  870         1822  
9812 870 50       3030 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
9813 870         1079 my $text;
9814 870         1339 my $lastsep="";
9815 870         3080 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
9816 870         63492 $expectation->at($_[1]);
9817            
9818 870         3452 my $thisline;
9819 870         4873 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
9820              
9821            
9822              
9823 870   33     9778 while (!$_matched && !$commit)
9824             {
9825            
9826 870 50       2022 Parse::RecDescent::_trace(q{Trying production: [field fieldlist]},
9827             Parse::RecDescent::_tracefirst($_[1]),
9828             q{fieldlist},
9829             $tracelevel)
9830             if defined $::RD_TRACE;
9831 870         1822 my $thisprod = $thisrule->{"prods"}[0];
9832 870         1351 $text = $_[1];
9833 870         1091 my $_savetext;
9834 870         12865 @item = (q{fieldlist});
9835 870         2333 %item = (__RULE__ => q{fieldlist});
9836 870         1370 my $repcount = 0;
9837              
9838              
9839 870 50       1932 Parse::RecDescent::_trace(q{Trying subrule: [field]},
9840             Parse::RecDescent::_tracefirst($text),
9841             q{fieldlist},
9842             $tracelevel)
9843             if defined $::RD_TRACE;
9844 15     15   100 if (1) { no strict qw{refs};
  15         34  
  15         3621  
  870         1113  
9845 870         2603 $expectation->is(q{})->at($text);
9846 870 100   17   9353 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::field($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  870         1893  
9847             {
9848            
9849 171 50       450 Parse::RecDescent::_trace(q{<>},
9850             Parse::RecDescent::_tracefirst($text),
9851             q{fieldlist},
9852             $tracelevel)
9853             if defined $::RD_TRACE;
9854 171         513 $expectation->failed();
9855 171         722 last;
9856             }
9857 699 50       3629 Parse::RecDescent::_trace(q{>>Matched subrule: [field]<< (return value: [}
9858             . $_tok . q{]},
9859            
9860             Parse::RecDescent::_tracefirst($text),
9861             q{fieldlist},
9862             $tracelevel)
9863             if defined $::RD_TRACE;
9864 699         1689 $item{q{field}} = $_tok;
9865 699         1284 push @item, $_tok;
9866            
9867             }
9868              
9869 699 50       1745 Parse::RecDescent::_trace(q{Trying subrule: [fieldlist]},
9870             Parse::RecDescent::_tracefirst($text),
9871             q{fieldlist},
9872             $tracelevel)
9873             if defined $::RD_TRACE;
9874 15     15   89 if (1) { no strict qw{refs};
  15         38  
  15         11947  
  699         960  
9875 699         2282 $expectation->is(q{fieldlist})->at($text);
9876 699 50   12   22622 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldlist($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  699         2527  
9877             {
9878            
9879 0 0       0 Parse::RecDescent::_trace(q{<>},
9880             Parse::RecDescent::_tracefirst($text),
9881             q{fieldlist},
9882             $tracelevel)
9883             if defined $::RD_TRACE;
9884 0         0 $expectation->failed();
9885 0         0 last;
9886             }
9887 699 50       2824 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldlist]<< (return value: [}
9888             . $_tok . q{]},
9889            
9890             Parse::RecDescent::_tracefirst($text),
9891             q{fieldlist},
9892             $tracelevel)
9893             if defined $::RD_TRACE;
9894 699         1260 $item{q{fieldlist}} = $_tok;
9895 699         1096 push @item, $_tok;
9896            
9897             }
9898              
9899 699 50       2961 Parse::RecDescent::_trace(q{Trying action},
9900             Parse::RecDescent::_tracefirst($text),
9901             q{fieldlist},
9902             $tracelevel)
9903             if defined $::RD_TRACE;
9904            
9905              
9906 699 50       1169 $_tok = ($_noactions) ? 0 : do {
9907 699         693 push ( @{$return}, $item{field}, @{$item{fieldlist}} );
  699         1256  
  699         5078  
9908             };
9909 699 50       1496 unless (defined $_tok)
9910             {
9911 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
9912             if defined $::RD_TRACE;
9913 0         0 last;
9914             }
9915 699 50       1170 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
9916             . $_tok . q{])},
9917             Parse::RecDescent::_tracefirst($text))
9918             if defined $::RD_TRACE;
9919 699         864 push @item, $_tok;
9920 699         1027 $item{__ACTION1__}=$_tok;
9921            
9922              
9923              
9924 699 50       1231 Parse::RecDescent::_trace(q{>>Matched production: [field fieldlist]<<},
9925             Parse::RecDescent::_tracefirst($text),
9926             q{fieldlist},
9927             $tracelevel)
9928             if defined $::RD_TRACE;
9929 699         707 $_matched = 1;
9930 699         1090 last;
9931             }
9932              
9933             splice
9934 870 100       2164 @{$thisparser->{deferred}}, $def_at unless $_matched;
  171         422  
9935            
9936 870   66     2144 while (!$_matched && !$commit)
9937             {
9938            
9939 171 50       9003 Parse::RecDescent::_trace(q{Trying production: ['<<' fieldname kids '>>' fieldlist]},
9940             Parse::RecDescent::_tracefirst($_[1]),
9941             q{fieldlist},
9942             $tracelevel)
9943             if defined $::RD_TRACE;
9944 171         427 my $thisprod = $thisrule->{"prods"}[1];
9945 171         373 $text = $_[1];
9946 171         387 my $_savetext;
9947 171         422 @item = (q{fieldlist});
9948 171         489 %item = (__RULE__ => q{fieldlist});
9949 171         256 my $repcount = 0;
9950              
9951              
9952 171 50       447 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
9953             Parse::RecDescent::_tracefirst($text),
9954             q{fieldlist},
9955             $tracelevel)
9956             if defined $::RD_TRACE;
9957 171         257 $lastsep = "";
9958 171         552 $expectation->is(q{})->at($text);
9959            
9960              
9961 171 100 66     2077 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  171 100       2540  
9962             {
9963            
9964 94         411 $expectation->failed();
9965 94 50       481 Parse::RecDescent::_trace(qq{<>},
9966             Parse::RecDescent::_tracefirst($text))
9967             if defined $::RD_TRACE;
9968 94         217 last;
9969             }
9970 77 50       303 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
9971             . $& . q{])},
9972             Parse::RecDescent::_tracefirst($text))
9973             if defined $::RD_TRACE;
9974 77         272 push @item, $item{__STRING1__}=$&;
9975            
9976              
9977 77 50       205 Parse::RecDescent::_trace(q{Trying subrule: [fieldname]},
9978             Parse::RecDescent::_tracefirst($text),
9979             q{fieldlist},
9980             $tracelevel)
9981             if defined $::RD_TRACE;
9982 15     15   102 if (1) { no strict qw{refs};
  15         57  
  15         5212  
  77         104  
9983 77         270 $expectation->is(q{fieldname})->at($text);
9984 77 100   1   1036 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldname($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  77         192  
9985             {
9986            
9987 11 50       34 Parse::RecDescent::_trace(q{<>},
9988             Parse::RecDescent::_tracefirst($text),
9989             q{fieldlist},
9990             $tracelevel)
9991             if defined $::RD_TRACE;
9992 11         42 $expectation->failed();
9993 11         101 last;
9994             }
9995 66 50       319 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldname]<< (return value: [}
9996             . $_tok . q{]},
9997            
9998             Parse::RecDescent::_tracefirst($text),
9999             q{fieldlist},
10000             $tracelevel)
10001             if defined $::RD_TRACE;
10002 66         160 $item{q{fieldname}} = $_tok;
10003 66         136 push @item, $_tok;
10004            
10005             }
10006              
10007 66 50       167 Parse::RecDescent::_trace(q{Trying subrule: [kids]},
10008             Parse::RecDescent::_tracefirst($text),
10009             q{fieldlist},
10010             $tracelevel)
10011             if defined $::RD_TRACE;
10012 15     15   95 if (1) { no strict qw{refs};
  15         40  
  15         6692  
  66         80  
10013 66         216 $expectation->is(q{kids})->at($text);
10014 66 50   1   836 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::kids($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  66         170  
10015             {
10016            
10017 0 0       0 Parse::RecDescent::_trace(q{<>},
10018             Parse::RecDescent::_tracefirst($text),
10019             q{fieldlist},
10020             $tracelevel)
10021             if defined $::RD_TRACE;
10022 0         0 $expectation->failed();
10023 0         0 last;
10024             }
10025 66 50       404 Parse::RecDescent::_trace(q{>>Matched subrule: [kids]<< (return value: [}
10026             . $_tok . q{]},
10027            
10028             Parse::RecDescent::_tracefirst($text),
10029             q{fieldlist},
10030             $tracelevel)
10031             if defined $::RD_TRACE;
10032 66         172 $item{q{kids}} = $_tok;
10033 66         152 push @item, $_tok;
10034            
10035             }
10036              
10037 66 50       183 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
10038             Parse::RecDescent::_tracefirst($text),
10039             q{fieldlist},
10040             $tracelevel)
10041             if defined $::RD_TRACE;
10042 66         124 $lastsep = "";
10043 66         247 $expectation->is(q{'>>'})->at($text);
10044            
10045              
10046 66 100 33     958 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  66 50       1137  
10047             {
10048            
10049 0         0 $expectation->failed();
10050 0 0       0 Parse::RecDescent::_trace(qq{<>},
10051             Parse::RecDescent::_tracefirst($text))
10052             if defined $::RD_TRACE;
10053 0         0 last;
10054             }
10055 66 50       217 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10056             . $& . q{])},
10057             Parse::RecDescent::_tracefirst($text))
10058             if defined $::RD_TRACE;
10059 66         252 push @item, $item{__STRING2__}=$&;
10060            
10061              
10062 66 50       175 Parse::RecDescent::_trace(q{Trying subrule: [fieldlist]},
10063             Parse::RecDescent::_tracefirst($text),
10064             q{fieldlist},
10065             $tracelevel)
10066             if defined $::RD_TRACE;
10067 15     15   95 if (1) { no strict qw{refs};
  15         33  
  15         13965  
  66         87  
10068 66         198 $expectation->is(q{fieldlist})->at($text);
10069 66 50   1   1026 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldlist($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  66         196  
10070             {
10071            
10072 0 0       0 Parse::RecDescent::_trace(q{<>},
10073             Parse::RecDescent::_tracefirst($text),
10074             q{fieldlist},
10075             $tracelevel)
10076             if defined $::RD_TRACE;
10077 0         0 $expectation->failed();
10078 0         0 last;
10079             }
10080 66 50       289 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldlist]<< (return value: [}
10081             . $_tok . q{]},
10082            
10083             Parse::RecDescent::_tracefirst($text),
10084             q{fieldlist},
10085             $tracelevel)
10086             if defined $::RD_TRACE;
10087 66         209 $item{q{fieldlist}} = $_tok;
10088 66         136 push @item, $_tok;
10089            
10090             }
10091              
10092 66 50       135 Parse::RecDescent::_trace(q{Trying action},
10093             Parse::RecDescent::_tracefirst($text),
10094             q{fieldlist},
10095             $tracelevel)
10096             if defined $::RD_TRACE;
10097            
10098              
10099 66 50       136 $_tok = ($_noactions) ? 0 : do {
10100 66         80 my $fieldlist;
10101 66         143 foreach my $ref ( @{$item{kids}} ) {
  66         158  
10102 356         457 my %kids = %{$ref};
  356         1103  
10103 356         611 foreach my $key (keys %kids) {
10104 356         333 push (@{$fieldlist},{$item{fieldname}.".".$key=>$kids{$key}});
  356         1903  
10105             }
10106             }
10107 66         107 push ( @{$return}, @{$fieldlist}, @{$item{fieldlist}} );
  66         90  
  66         93  
  66         464  
10108             };
10109 66 50       202 unless (defined $_tok)
10110             {
10111 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
10112             if defined $::RD_TRACE;
10113 0         0 last;
10114             }
10115 66 50       137 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
10116             . $_tok . q{])},
10117             Parse::RecDescent::_tracefirst($text))
10118             if defined $::RD_TRACE;
10119 66         117 push @item, $_tok;
10120 66         108 $item{__ACTION1__}=$_tok;
10121            
10122              
10123              
10124 66 50       126 Parse::RecDescent::_trace(q{>>Matched production: ['<<' fieldname kids '>>' fieldlist]<<},
10125             Parse::RecDescent::_tracefirst($text),
10126             q{fieldlist},
10127             $tracelevel)
10128             if defined $::RD_TRACE;
10129 66         72 $_matched = 1;
10130 66         246 last;
10131             }
10132              
10133             splice
10134 870 100       2176 @{$thisparser->{deferred}}, $def_at unless $_matched;
  105         282  
10135            
10136 870   66     2083 while (!$_matched && !$commit)
10137             {
10138            
10139 105 50       294 Parse::RecDescent::_trace(q{Trying production: ['<<' kids fieldname '>>' fieldlist]},
10140             Parse::RecDescent::_tracefirst($_[1]),
10141             q{fieldlist},
10142             $tracelevel)
10143             if defined $::RD_TRACE;
10144 105         256 my $thisprod = $thisrule->{"prods"}[2];
10145 105         203 $text = $_[1];
10146 105         141 my $_savetext;
10147 105         283 @item = (q{fieldlist});
10148 105         288 %item = (__RULE__ => q{fieldlist});
10149 105         153 my $repcount = 0;
10150              
10151              
10152 105 50       252 Parse::RecDescent::_trace(q{Trying terminal: ['<<']},
10153             Parse::RecDescent::_tracefirst($text),
10154             q{fieldlist},
10155             $tracelevel)
10156             if defined $::RD_TRACE;
10157 105         199 $lastsep = "";
10158 105         326 $expectation->is(q{})->at($text);
10159            
10160              
10161 105 100 66     1293 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\<\
  105 100       1349  
10162             {
10163            
10164 94         295 $expectation->failed();
10165 94 50       470 Parse::RecDescent::_trace(qq{<>},
10166             Parse::RecDescent::_tracefirst($text))
10167             if defined $::RD_TRACE;
10168 94         198 last;
10169             }
10170 11 50       46 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10171             . $& . q{])},
10172             Parse::RecDescent::_tracefirst($text))
10173             if defined $::RD_TRACE;
10174 11         39 push @item, $item{__STRING1__}=$&;
10175            
10176              
10177 11 50       33 Parse::RecDescent::_trace(q{Trying subrule: [kids]},
10178             Parse::RecDescent::_tracefirst($text),
10179             q{fieldlist},
10180             $tracelevel)
10181             if defined $::RD_TRACE;
10182 15     15   104 if (1) { no strict qw{refs};
  15         34  
  15         4298  
  11         894  
10183 11         60 $expectation->is(q{kids})->at($text);
10184 11 50   0   196 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::kids($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  11         30  
10185             {
10186            
10187 0 0       0 Parse::RecDescent::_trace(q{<>},
10188             Parse::RecDescent::_tracefirst($text),
10189             q{fieldlist},
10190             $tracelevel)
10191             if defined $::RD_TRACE;
10192 0         0 $expectation->failed();
10193 0         0 last;
10194             }
10195 11 50       102 Parse::RecDescent::_trace(q{>>Matched subrule: [kids]<< (return value: [}
10196             . $_tok . q{]},
10197            
10198             Parse::RecDescent::_tracefirst($text),
10199             q{fieldlist},
10200             $tracelevel)
10201             if defined $::RD_TRACE;
10202 11         33 $item{q{kids}} = $_tok;
10203 11         25 push @item, $_tok;
10204            
10205             }
10206              
10207 11 50       33 Parse::RecDescent::_trace(q{Trying subrule: [fieldname]},
10208             Parse::RecDescent::_tracefirst($text),
10209             q{fieldlist},
10210             $tracelevel)
10211             if defined $::RD_TRACE;
10212 15     15   89 if (1) { no strict qw{refs};
  15         31  
  15         7835  
  11         15  
10213 11         49 $expectation->is(q{fieldname})->at($text);
10214 11 50   0   150 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldname($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  11         30  
10215             {
10216            
10217 0 0       0 Parse::RecDescent::_trace(q{<>},
10218             Parse::RecDescent::_tracefirst($text),
10219             q{fieldlist},
10220             $tracelevel)
10221             if defined $::RD_TRACE;
10222 0         0 $expectation->failed();
10223 0         0 last;
10224             }
10225 11 50       59 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldname]<< (return value: [}
10226             . $_tok . q{]},
10227            
10228             Parse::RecDescent::_tracefirst($text),
10229             q{fieldlist},
10230             $tracelevel)
10231             if defined $::RD_TRACE;
10232 11         31 $item{q{fieldname}} = $_tok;
10233 11         28 push @item, $_tok;
10234            
10235             }
10236              
10237 11 50       36 Parse::RecDescent::_trace(q{Trying terminal: ['>>']},
10238             Parse::RecDescent::_tracefirst($text),
10239             q{fieldlist},
10240             $tracelevel)
10241             if defined $::RD_TRACE;
10242 11         23 $lastsep = "";
10243 11         41 $expectation->is(q{'>>'})->at($text);
10244            
10245              
10246 11 100 33     181 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\>\>//)
  11 50       216  
10247             {
10248            
10249 0         0 $expectation->failed();
10250 0 0       0 Parse::RecDescent::_trace(qq{<>},
10251             Parse::RecDescent::_tracefirst($text))
10252             if defined $::RD_TRACE;
10253 0         0 last;
10254             }
10255 11 50       44 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10256             . $& . q{])},
10257             Parse::RecDescent::_tracefirst($text))
10258             if defined $::RD_TRACE;
10259 11         47 push @item, $item{__STRING2__}=$&;
10260            
10261              
10262 11 50       39 Parse::RecDescent::_trace(q{Trying subrule: [fieldlist]},
10263             Parse::RecDescent::_tracefirst($text),
10264             q{fieldlist},
10265             $tracelevel)
10266             if defined $::RD_TRACE;
10267 15     15   137 if (1) { no strict qw{refs};
  15         33  
  15         23490  
  11         15  
10268 11         39 $expectation->is(q{fieldlist})->at($text);
10269 11 50   0   130 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::fieldlist($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  11         30  
10270             {
10271            
10272 0 0       0 Parse::RecDescent::_trace(q{<>},
10273             Parse::RecDescent::_tracefirst($text),
10274             q{fieldlist},
10275             $tracelevel)
10276             if defined $::RD_TRACE;
10277 0         0 $expectation->failed();
10278 0         0 last;
10279             }
10280 11 50       64 Parse::RecDescent::_trace(q{>>Matched subrule: [fieldlist]<< (return value: [}
10281             . $_tok . q{]},
10282            
10283             Parse::RecDescent::_tracefirst($text),
10284             q{fieldlist},
10285             $tracelevel)
10286             if defined $::RD_TRACE;
10287 11         27 $item{q{fieldlist}} = $_tok;
10288 11         28 push @item, $_tok;
10289            
10290             }
10291              
10292 11 50       31 Parse::RecDescent::_trace(q{Trying action},
10293             Parse::RecDescent::_tracefirst($text),
10294             q{fieldlist},
10295             $tracelevel)
10296             if defined $::RD_TRACE;
10297            
10298              
10299 11 50       29 $_tok = ($_noactions) ? 0 : do {
10300 11         19 my $fieldlist;
10301 11         16 foreach my $ref ( @{$item{kids}} ) {
  11         34  
10302 159         175 my %kids = %{$ref};
  159         543  
10303 159         282 foreach my $key (keys %kids) {
10304 159         168 push (@{$fieldlist},{ $item{fieldname}.".".$key=>$kids{$key}});
  159         919  
10305             }
10306             }
10307 11         22 push ( @{$return}, @{$fieldlist}, @{$item{fieldlist}} );
  11         24  
  11         18  
  11         124  
10308             };
10309 11 50       47 unless (defined $_tok)
10310             {
10311 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
10312             if defined $::RD_TRACE;
10313 0         0 last;
10314             }
10315 11 50       32 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
10316             . $_tok . q{])},
10317             Parse::RecDescent::_tracefirst($text))
10318             if defined $::RD_TRACE;
10319 11         26 push @item, $_tok;
10320 11         25 $item{__ACTION1__}=$_tok;
10321            
10322              
10323              
10324 11 50       28 Parse::RecDescent::_trace(q{>>Matched production: ['<<' kids fieldname '>>' fieldlist]<<},
10325             Parse::RecDescent::_tracefirst($text),
10326             q{fieldlist},
10327             $tracelevel)
10328             if defined $::RD_TRACE;
10329 11         12 $_matched = 1;
10330 11         34 last;
10331             }
10332              
10333             splice
10334 870 100       1666 @{$thisparser->{deferred}}, $def_at unless $_matched;
  94         237  
10335            
10336 870   66     1774 while (!$_matched && !$commit)
10337             {
10338            
10339 94 50       329 Parse::RecDescent::_trace(q{Trying production: []},
10340             Parse::RecDescent::_tracefirst($_[1]),
10341             q{fieldlist},
10342             $tracelevel)
10343             if defined $::RD_TRACE;
10344 94         223 my $thisprod = $thisrule->{"prods"}[3];
10345 94         191 $text = $_[1];
10346 94         132 my $_savetext;
10347 94         243 @item = (q{fieldlist});
10348 94         358 %item = (__RULE__ => q{fieldlist});
10349 94         155 my $repcount = 0;
10350              
10351              
10352 94 50       253 Parse::RecDescent::_trace(q{Trying action},
10353             Parse::RecDescent::_tracefirst($text),
10354             q{fieldlist},
10355             $tracelevel)
10356             if defined $::RD_TRACE;
10357            
10358              
10359 94 50       244 $_tok = ($_noactions) ? 0 : do {
10360 94         215 $return = [];
10361             };
10362 94 50       340 unless (defined $_tok)
10363             {
10364 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
10365             if defined $::RD_TRACE;
10366 0         0 last;
10367             }
10368 94 50       253 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
10369             . $_tok . q{])},
10370             Parse::RecDescent::_tracefirst($text))
10371             if defined $::RD_TRACE;
10372 94         185 push @item, $_tok;
10373 94         544 $item{__ACTION1__}=$_tok;
10374            
10375              
10376              
10377 94 50       217 Parse::RecDescent::_trace(q{>>Matched production: []<<},
10378             Parse::RecDescent::_tracefirst($text),
10379             q{fieldlist},
10380             $tracelevel)
10381             if defined $::RD_TRACE;
10382 94         4449 $_matched = 1;
10383 94         181 last;
10384             }
10385              
10386             splice
10387 870 50       1526 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
10388            
10389 870 0 33     1733 unless ( $_matched || defined($return) || defined($score) )
      33        
10390             {
10391 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
10392            
10393              
10394 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
10395 0 0       0 Parse::RecDescent::_trace(q{<>},
10396             Parse::RecDescent::_tracefirst($_[1]),
10397             q{fieldlist},
10398             $tracelevel)
10399             if defined $::RD_TRACE;
10400 0         0 return undef;
10401             }
10402 870 50 33     1858 if (!defined($return) && defined($score))
10403             {
10404 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
10405             q{fieldlist},
10406             $tracelevel)
10407             if defined $::RD_TRACE;
10408 0         0 $return = $score_return;
10409             }
10410 870         887 splice @{$thisparser->{errors}}, $err_at;
  870         1582  
10411 870 50       1754 $return = $item[$#item] unless defined $return;
10412 870 50       1597 if (defined $::RD_TRACE)
10413             {
10414 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
10415             $return . q{])}, "",
10416             q{fieldlist},
10417             $tracelevel);
10418 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
10419             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
10420             Parse::RecDescent::_tracefirst($text),
10421             , q{fieldlist},
10422             $tracelevel)
10423             }
10424 870         1928 $_[1] = $text;
10425 870         9465 return $return;
10426             }
10427              
10428             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
10429             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::filename
10430             {
10431 0     0   0 my $thisparser = $_[0];
10432 15     15   108 use vars q{$tracelevel};
  15         37  
  15         9456  
10433 0   0     0 local $tracelevel = ($tracelevel||0)+1;
10434 0         0 $ERRORS = 0;
10435 0         0 my $thisrule = $thisparser->{"rules"}{"filename"};
10436            
10437 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [filename]},
10438             Parse::RecDescent::_tracefirst($_[1]),
10439             q{filename},
10440             $tracelevel)
10441             if defined $::RD_TRACE;
10442              
10443 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
10444 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
10445              
10446 0         0 my $score;
10447             my $score_return;
10448 0         0 my $_tok;
10449 0         0 my $return = undef;
10450 0         0 my $_matched=0;
10451 0         0 my $commit=0;
10452 0         0 my @item = ();
10453 0         0 my %item = ();
10454 0   0     0 my $repeating = defined($_[2]) && $_[2];
10455 0   0     0 my $_noactions = defined($_[3]) && $_[3];
10456 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
10457 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
10458 0         0 my $text;
10459 0         0 my $lastsep="";
10460 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
10461 0         0 $expectation->at($_[1]);
10462            
10463 0         0 my $thisline;
10464 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
10465              
10466            
10467              
10468 0   0     0 while (!$_matched && !$commit)
10469             {
10470            
10471 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['(' name ')']},
10472             Parse::RecDescent::_tracefirst($_[1]),
10473             q{filename},
10474             $tracelevel)
10475             if defined $::RD_TRACE;
10476 0         0 my $thisprod = $thisrule->{"prods"}[0];
10477 0         0 $text = $_[1];
10478 0         0 my $_savetext;
10479 0         0 @item = (q{filename});
10480 0         0 %item = (__RULE__ => q{filename});
10481 0         0 my $repcount = 0;
10482              
10483              
10484 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
10485             Parse::RecDescent::_tracefirst($text),
10486             q{filename},
10487             $tracelevel)
10488             if defined $::RD_TRACE;
10489 0         0 $lastsep = "";
10490 0         0 $expectation->is(q{})->at($text);
10491            
10492              
10493 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
  0 0       0  
10494             {
10495            
10496 0         0 $expectation->failed();
10497 0 0       0 Parse::RecDescent::_trace(qq{<>},
10498             Parse::RecDescent::_tracefirst($text))
10499             if defined $::RD_TRACE;
10500 0         0 last;
10501             }
10502 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10503             . $& . q{])},
10504             Parse::RecDescent::_tracefirst($text))
10505             if defined $::RD_TRACE;
10506 0         0 push @item, $item{__STRING1__}=$&;
10507            
10508              
10509 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [name]},
10510             Parse::RecDescent::_tracefirst($text),
10511             q{filename},
10512             $tracelevel)
10513             if defined $::RD_TRACE;
10514 15     15   104 if (1) { no strict qw{refs};
  15         36  
  15         15802  
  0         0  
10515 0         0 $expectation->is(q{name})->at($text);
10516 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::name($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
10517             {
10518            
10519 0 0       0 Parse::RecDescent::_trace(q{<>},
10520             Parse::RecDescent::_tracefirst($text),
10521             q{filename},
10522             $tracelevel)
10523             if defined $::RD_TRACE;
10524 0         0 $expectation->failed();
10525 0         0 last;
10526             }
10527 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [name]<< (return value: [}
10528             . $_tok . q{]},
10529            
10530             Parse::RecDescent::_tracefirst($text),
10531             q{filename},
10532             $tracelevel)
10533             if defined $::RD_TRACE;
10534 0         0 $item{q{name}} = $_tok;
10535 0         0 push @item, $_tok;
10536            
10537             }
10538              
10539 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [')']},
10540             Parse::RecDescent::_tracefirst($text),
10541             q{filename},
10542             $tracelevel)
10543             if defined $::RD_TRACE;
10544 0         0 $lastsep = "";
10545 0         0 $expectation->is(q{')'})->at($text);
10546            
10547              
10548 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
  0 0       0  
10549             {
10550            
10551 0         0 $expectation->failed();
10552 0 0       0 Parse::RecDescent::_trace(qq{<>},
10553             Parse::RecDescent::_tracefirst($text))
10554             if defined $::RD_TRACE;
10555 0         0 last;
10556             }
10557 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10558             . $& . q{])},
10559             Parse::RecDescent::_tracefirst($text))
10560             if defined $::RD_TRACE;
10561 0         0 push @item, $item{__STRING2__}=$&;
10562            
10563              
10564 0 0       0 Parse::RecDescent::_trace(q{Trying action},
10565             Parse::RecDescent::_tracefirst($text),
10566             q{filename},
10567             $tracelevel)
10568             if defined $::RD_TRACE;
10569            
10570              
10571 0 0       0 $_tok = ($_noactions) ? 0 : do {
10572 0         0 $return = $item[2];
10573             };
10574 0 0       0 unless (defined $_tok)
10575             {
10576 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
10577             if defined $::RD_TRACE;
10578 0         0 last;
10579             }
10580 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
10581             . $_tok . q{])},
10582             Parse::RecDescent::_tracefirst($text))
10583             if defined $::RD_TRACE;
10584 0         0 push @item, $_tok;
10585 0         0 $item{__ACTION1__}=$_tok;
10586            
10587              
10588              
10589 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['(' name ')']<<},
10590             Parse::RecDescent::_tracefirst($text),
10591             q{filename},
10592             $tracelevel)
10593             if defined $::RD_TRACE;
10594 0         0 $_matched = 1;
10595 0         0 last;
10596             }
10597              
10598             splice
10599 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
10600            
10601 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
10602             {
10603 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
10604            
10605              
10606 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
10607 0 0       0 Parse::RecDescent::_trace(q{<>},
10608             Parse::RecDescent::_tracefirst($_[1]),
10609             q{filename},
10610             $tracelevel)
10611             if defined $::RD_TRACE;
10612 0         0 return undef;
10613             }
10614 0 0 0     0 if (!defined($return) && defined($score))
10615             {
10616 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
10617             q{filename},
10618             $tracelevel)
10619             if defined $::RD_TRACE;
10620 0         0 $return = $score_return;
10621             }
10622 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
10623 0 0       0 $return = $item[$#item] unless defined $return;
10624 0 0       0 if (defined $::RD_TRACE)
10625             {
10626 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
10627             $return . q{])}, "",
10628             q{filename},
10629             $tracelevel);
10630 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
10631             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
10632             Parse::RecDescent::_tracefirst($text),
10633             , q{filename},
10634             $tracelevel)
10635             }
10636 0         0 $_[1] = $text;
10637 0         0 return $return;
10638             }
10639              
10640             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
10641             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::filtertype
10642             {
10643 0     0   0 my $thisparser = $_[0];
10644 15     15   105 use vars q{$tracelevel};
  15         36  
  15         16384  
10645 0   0     0 local $tracelevel = ($tracelevel||0)+1;
10646 0         0 $ERRORS = 0;
10647 0         0 my $thisrule = $thisparser->{"rules"}{"filtertype"};
10648            
10649 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [filtertype]},
10650             Parse::RecDescent::_tracefirst($_[1]),
10651             q{filtertype},
10652             $tracelevel)
10653             if defined $::RD_TRACE;
10654              
10655 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
10656 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
10657              
10658 0         0 my $score;
10659             my $score_return;
10660 0         0 my $_tok;
10661 0         0 my $return = undef;
10662 0         0 my $_matched=0;
10663 0         0 my $commit=0;
10664 0         0 my @item = ();
10665 0         0 my %item = ();
10666 0   0     0 my $repeating = defined($_[2]) && $_[2];
10667 0   0     0 my $_noactions = defined($_[3]) && $_[3];
10668 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
10669 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
10670 0         0 my $text;
10671 0         0 my $lastsep="";
10672 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
10673 0         0 $expectation->at($_[1]);
10674            
10675 0         0 my $thisline;
10676 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
10677              
10678            
10679              
10680 0   0     0 while (!$_matched && !$commit)
10681             {
10682            
10683 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['/FlateDecode']},
10684             Parse::RecDescent::_tracefirst($_[1]),
10685             q{filtertype},
10686             $tracelevel)
10687             if defined $::RD_TRACE;
10688 0         0 my $thisprod = $thisrule->{"prods"}[0];
10689 0         0 $text = $_[1];
10690 0         0 my $_savetext;
10691 0         0 @item = (q{filtertype});
10692 0         0 %item = (__RULE__ => q{filtertype});
10693 0         0 my $repcount = 0;
10694              
10695              
10696 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['/FlateDecode']},
10697             Parse::RecDescent::_tracefirst($text),
10698             q{filtertype},
10699             $tracelevel)
10700             if defined $::RD_TRACE;
10701 0         0 $lastsep = "";
10702 0         0 $expectation->is(q{})->at($text);
10703            
10704              
10705 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\/FlateDecode//)
  0 0       0  
10706             {
10707            
10708 0         0 $expectation->failed();
10709 0 0       0 Parse::RecDescent::_trace(qq{<>},
10710             Parse::RecDescent::_tracefirst($text))
10711             if defined $::RD_TRACE;
10712 0         0 last;
10713             }
10714 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
10715             . $& . q{])},
10716             Parse::RecDescent::_tracefirst($text))
10717             if defined $::RD_TRACE;
10718 0         0 push @item, $item{__STRING1__}=$&;
10719            
10720              
10721              
10722 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['/FlateDecode']<<},
10723             Parse::RecDescent::_tracefirst($text),
10724             q{filtertype},
10725             $tracelevel)
10726             if defined $::RD_TRACE;
10727 0         0 $_matched = 1;
10728 0         0 last;
10729             }
10730              
10731             splice
10732 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
10733            
10734 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
10735             {
10736 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
10737            
10738              
10739 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
10740 0 0       0 Parse::RecDescent::_trace(q{<>},
10741             Parse::RecDescent::_tracefirst($_[1]),
10742             q{filtertype},
10743             $tracelevel)
10744             if defined $::RD_TRACE;
10745 0         0 return undef;
10746             }
10747 0 0 0     0 if (!defined($return) && defined($score))
10748             {
10749 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
10750             q{filtertype},
10751             $tracelevel)
10752             if defined $::RD_TRACE;
10753 0         0 $return = $score_return;
10754             }
10755 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
10756 0 0       0 $return = $item[$#item] unless defined $return;
10757 0 0       0 if (defined $::RD_TRACE)
10758             {
10759 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
10760             $return . q{])}, "",
10761             q{filtertype},
10762             $tracelevel);
10763 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
10764             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
10765             Parse::RecDescent::_tracefirst($text),
10766             , q{filtertype},
10767             $tracelevel)
10768             }
10769 0         0 $_[1] = $text;
10770 0         0 return $return;
10771             }
10772              
10773             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
10774             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::streamcont
10775             {
10776 0     0   0 my $thisparser = $_[0];
10777 15     15   156 use vars q{$tracelevel};
  15         45  
  15         8140  
10778 0   0     0 local $tracelevel = ($tracelevel||0)+1;
10779 0         0 $ERRORS = 0;
10780 0         0 my $thisrule = $thisparser->{"rules"}{"streamcont"};
10781            
10782 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [streamcont]},
10783             Parse::RecDescent::_tracefirst($_[1]),
10784             q{streamcont},
10785             $tracelevel)
10786             if defined $::RD_TRACE;
10787              
10788 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
10789 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
10790              
10791 0         0 my $score;
10792             my $score_return;
10793 0         0 my $_tok;
10794 0         0 my $return = undef;
10795 0         0 my $_matched=0;
10796 0         0 my $commit=0;
10797 0         0 my @item = ();
10798 0         0 my %item = ();
10799 0   0     0 my $repeating = defined($_[2]) && $_[2];
10800 0   0     0 my $_noactions = defined($_[3]) && $_[3];
10801 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
10802 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
10803 0         0 my $text;
10804 0         0 my $lastsep="";
10805 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
10806 0         0 $expectation->at($_[1]);
10807            
10808 0         0 my $thisline;
10809 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
10810              
10811            
10812              
10813 0   0     0 while (!$_matched && !$commit)
10814             {
10815            
10816 0 0       0 Parse::RecDescent::_trace(q{Trying production: [streamline streamcont]},
10817             Parse::RecDescent::_tracefirst($_[1]),
10818             q{streamcont},
10819             $tracelevel)
10820             if defined $::RD_TRACE;
10821 0         0 my $thisprod = $thisrule->{"prods"}[0];
10822 0         0 $text = $_[1];
10823 0         0 my $_savetext;
10824 0         0 @item = (q{streamcont});
10825 0         0 %item = (__RULE__ => q{streamcont});
10826 0         0 my $repcount = 0;
10827              
10828              
10829 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [streamline]},
10830             Parse::RecDescent::_tracefirst($text),
10831             q{streamcont},
10832             $tracelevel)
10833             if defined $::RD_TRACE;
10834 15     15   96 if (1) { no strict qw{refs};
  15         39  
  15         3504  
  0         0  
10835 0         0 $expectation->is(q{})->at($text);
10836 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::streamline($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
10837             {
10838            
10839 0 0       0 Parse::RecDescent::_trace(q{<>},
10840             Parse::RecDescent::_tracefirst($text),
10841             q{streamcont},
10842             $tracelevel)
10843             if defined $::RD_TRACE;
10844 0         0 $expectation->failed();
10845 0         0 last;
10846             }
10847 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [streamline]<< (return value: [}
10848             . $_tok . q{]},
10849            
10850             Parse::RecDescent::_tracefirst($text),
10851             q{streamcont},
10852             $tracelevel)
10853             if defined $::RD_TRACE;
10854 0         0 $item{q{streamline}} = $_tok;
10855 0         0 push @item, $_tok;
10856            
10857             }
10858              
10859 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [streamcont]},
10860             Parse::RecDescent::_tracefirst($text),
10861             q{streamcont},
10862             $tracelevel)
10863             if defined $::RD_TRACE;
10864 15     15   93 if (1) { no strict qw{refs};
  15         39  
  15         16474  
  0         0  
10865 0         0 $expectation->is(q{streamcont})->at($text);
10866 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::streamcont($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
10867             {
10868            
10869 0 0       0 Parse::RecDescent::_trace(q{<>},
10870             Parse::RecDescent::_tracefirst($text),
10871             q{streamcont},
10872             $tracelevel)
10873             if defined $::RD_TRACE;
10874 0         0 $expectation->failed();
10875 0         0 last;
10876             }
10877 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [streamcont]<< (return value: [}
10878             . $_tok . q{]},
10879            
10880             Parse::RecDescent::_tracefirst($text),
10881             q{streamcont},
10882             $tracelevel)
10883             if defined $::RD_TRACE;
10884 0         0 $item{q{streamcont}} = $_tok;
10885 0         0 push @item, $_tok;
10886            
10887             }
10888              
10889 0 0       0 Parse::RecDescent::_trace(q{Trying action},
10890             Parse::RecDescent::_tracefirst($text),
10891             q{streamcont},
10892             $tracelevel)
10893             if defined $::RD_TRACE;
10894            
10895              
10896 0 0       0 $_tok = ($_noactions) ? 0 : do {
10897 0         0 $return = $item[1];
10898             };
10899 0 0       0 unless (defined $_tok)
10900             {
10901 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
10902             if defined $::RD_TRACE;
10903 0         0 last;
10904             }
10905 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
10906             . $_tok . q{])},
10907             Parse::RecDescent::_tracefirst($text))
10908             if defined $::RD_TRACE;
10909 0         0 push @item, $_tok;
10910 0         0 $item{__ACTION1__}=$_tok;
10911            
10912              
10913              
10914 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [streamline streamcont]<<},
10915             Parse::RecDescent::_tracefirst($text),
10916             q{streamcont},
10917             $tracelevel)
10918             if defined $::RD_TRACE;
10919 0         0 $_matched = 1;
10920 0         0 last;
10921             }
10922              
10923             splice
10924 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
10925            
10926 0   0     0 while (!$_matched && !$commit)
10927             {
10928            
10929 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
10930             Parse::RecDescent::_tracefirst($_[1]),
10931             q{streamcont},
10932             $tracelevel)
10933             if defined $::RD_TRACE;
10934 0         0 my $thisprod = $thisrule->{"prods"}[1];
10935 0         0 $text = $_[1];
10936 0         0 my $_savetext;
10937 0         0 @item = (q{streamcont});
10938 0         0 %item = (__RULE__ => q{streamcont});
10939 0         0 my $repcount = 0;
10940              
10941              
10942              
10943 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
10944             Parse::RecDescent::_tracefirst($text),
10945             q{streamcont},
10946             $tracelevel)
10947             if defined $::RD_TRACE;
10948 0         0 $_matched = 1;
10949 0         0 last;
10950             }
10951              
10952             splice
10953 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
10954            
10955 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
10956             {
10957 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
10958            
10959              
10960 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
10961 0 0       0 Parse::RecDescent::_trace(q{<>},
10962             Parse::RecDescent::_tracefirst($_[1]),
10963             q{streamcont},
10964             $tracelevel)
10965             if defined $::RD_TRACE;
10966 0         0 return undef;
10967             }
10968 0 0 0     0 if (!defined($return) && defined($score))
10969             {
10970 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
10971             q{streamcont},
10972             $tracelevel)
10973             if defined $::RD_TRACE;
10974 0         0 $return = $score_return;
10975             }
10976 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
10977 0 0       0 $return = $item[$#item] unless defined $return;
10978 0 0       0 if (defined $::RD_TRACE)
10979             {
10980 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
10981             $return . q{])}, "",
10982             q{streamcont},
10983             $tracelevel);
10984 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
10985             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
10986             Parse::RecDescent::_tracefirst($text),
10987             , q{streamcont},
10988             $tracelevel)
10989             }
10990 0         0 $_[1] = $text;
10991 0         0 return $return;
10992             }
10993              
10994             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
10995             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::stemstream
10996             {
10997 0     0   0 my $thisparser = $_[0];
10998 15     15   116 use vars q{$tracelevel};
  15         35  
  15         7043  
10999 0   0     0 local $tracelevel = ($tracelevel||0)+1;
11000 0         0 $ERRORS = 0;
11001 0         0 my $thisrule = $thisparser->{"rules"}{"stemstream"};
11002            
11003 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [stemstream]},
11004             Parse::RecDescent::_tracefirst($_[1]),
11005             q{stemstream},
11006             $tracelevel)
11007             if defined $::RD_TRACE;
11008              
11009 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
11010 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
11011              
11012 0         0 my $score;
11013             my $score_return;
11014 0         0 my $_tok;
11015 0         0 my $return = undef;
11016 0         0 my $_matched=0;
11017 0         0 my $commit=0;
11018 0         0 my @item = ();
11019 0         0 my %item = ();
11020 0   0     0 my $repeating = defined($_[2]) && $_[2];
11021 0   0     0 my $_noactions = defined($_[3]) && $_[3];
11022 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
11023 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
11024 0         0 my $text;
11025 0         0 my $lastsep="";
11026 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
11027 0         0 $expectation->at($_[1]);
11028            
11029 0         0 my $thisline;
11030 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
11031              
11032            
11033              
11034 0   0     0 while (!$_matched && !$commit)
11035             {
11036            
11037 0 0       0 Parse::RecDescent::_trace(q{Trying production: [streamcont 'endstream']},
11038             Parse::RecDescent::_tracefirst($_[1]),
11039             q{stemstream},
11040             $tracelevel)
11041             if defined $::RD_TRACE;
11042 0         0 my $thisprod = $thisrule->{"prods"}[0];
11043 0         0 $text = $_[1];
11044 0         0 my $_savetext;
11045 0         0 @item = (q{stemstream});
11046 0         0 %item = (__RULE__ => q{stemstream});
11047 0         0 my $repcount = 0;
11048              
11049              
11050 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [streamcont]},
11051             Parse::RecDescent::_tracefirst($text),
11052             q{stemstream},
11053             $tracelevel)
11054             if defined $::RD_TRACE;
11055 15     15   116 if (1) { no strict qw{refs};
  15         42  
  15         13977  
  0         0  
11056 0         0 $expectation->is(q{})->at($text);
11057 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::streamcont($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
11058             {
11059            
11060 0 0       0 Parse::RecDescent::_trace(q{<>},
11061             Parse::RecDescent::_tracefirst($text),
11062             q{stemstream},
11063             $tracelevel)
11064             if defined $::RD_TRACE;
11065 0         0 $expectation->failed();
11066 0         0 last;
11067             }
11068 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [streamcont]<< (return value: [}
11069             . $_tok . q{]},
11070            
11071             Parse::RecDescent::_tracefirst($text),
11072             q{stemstream},
11073             $tracelevel)
11074             if defined $::RD_TRACE;
11075 0         0 $item{q{streamcont}} = $_tok;
11076 0         0 push @item, $_tok;
11077            
11078             }
11079              
11080 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['endstream']},
11081             Parse::RecDescent::_tracefirst($text),
11082             q{stemstream},
11083             $tracelevel)
11084             if defined $::RD_TRACE;
11085 0         0 $lastsep = "";
11086 0         0 $expectation->is(q{'endstream'})->at($text);
11087            
11088              
11089 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\Aendstream//)
  0 0       0  
11090             {
11091            
11092 0         0 $expectation->failed();
11093 0 0       0 Parse::RecDescent::_trace(qq{<>},
11094             Parse::RecDescent::_tracefirst($text))
11095             if defined $::RD_TRACE;
11096 0         0 last;
11097             }
11098 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
11099             . $& . q{])},
11100             Parse::RecDescent::_tracefirst($text))
11101             if defined $::RD_TRACE;
11102 0         0 push @item, $item{__STRING1__}=$&;
11103            
11104              
11105 0 0       0 Parse::RecDescent::_trace(q{Trying action},
11106             Parse::RecDescent::_tracefirst($text),
11107             q{stemstream},
11108             $tracelevel)
11109             if defined $::RD_TRACE;
11110            
11111              
11112 0 0       0 $_tok = ($_noactions) ? 0 : do {
11113 0         0 $return = $item[1];
11114             };
11115 0 0       0 unless (defined $_tok)
11116             {
11117 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
11118             if defined $::RD_TRACE;
11119 0         0 last;
11120             }
11121 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
11122             . $_tok . q{])},
11123             Parse::RecDescent::_tracefirst($text))
11124             if defined $::RD_TRACE;
11125 0         0 push @item, $_tok;
11126 0         0 $item{__ACTION1__}=$_tok;
11127            
11128              
11129              
11130 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: [streamcont 'endstream']<<},
11131             Parse::RecDescent::_tracefirst($text),
11132             q{stemstream},
11133             $tracelevel)
11134             if defined $::RD_TRACE;
11135 0         0 $_matched = 1;
11136 0         0 last;
11137             }
11138              
11139             splice
11140 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
11141            
11142 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
11143             {
11144 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
11145            
11146              
11147 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
11148 0 0       0 Parse::RecDescent::_trace(q{<>},
11149             Parse::RecDescent::_tracefirst($_[1]),
11150             q{stemstream},
11151             $tracelevel)
11152             if defined $::RD_TRACE;
11153 0         0 return undef;
11154             }
11155 0 0 0     0 if (!defined($return) && defined($score))
11156             {
11157 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
11158             q{stemstream},
11159             $tracelevel)
11160             if defined $::RD_TRACE;
11161 0         0 $return = $score_return;
11162             }
11163 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
11164 0 0       0 $return = $item[$#item] unless defined $return;
11165 0 0       0 if (defined $::RD_TRACE)
11166             {
11167 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
11168             $return . q{])}, "",
11169             q{stemstream},
11170             $tracelevel);
11171 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
11172             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
11173             Parse::RecDescent::_tracefirst($text),
11174             , q{stemstream},
11175             $tracelevel)
11176             }
11177 0         0 $_[1] = $text;
11178 0         0 return $return;
11179             }
11180              
11181             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
11182             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::valarray
11183             {
11184 0     0   0 my $thisparser = $_[0];
11185 15     15   130 use vars q{$tracelevel};
  15         50  
  15         12618  
11186 0   0     0 local $tracelevel = ($tracelevel||0)+1;
11187 0         0 $ERRORS = 0;
11188 0         0 my $thisrule = $thisparser->{"rules"}{"valarray"};
11189            
11190 0 0       0 Parse::RecDescent::_trace(q{Trying rule: [valarray]},
11191             Parse::RecDescent::_tracefirst($_[1]),
11192             q{valarray},
11193             $tracelevel)
11194             if defined $::RD_TRACE;
11195              
11196 0         0 my $def_at = @{$thisparser->{deferred}};
  0         0  
11197 0         0 my $err_at = @{$thisparser->{errors}};
  0         0  
11198              
11199 0         0 my $score;
11200             my $score_return;
11201 0         0 my $_tok;
11202 0         0 my $return = undef;
11203 0         0 my $_matched=0;
11204 0         0 my $commit=0;
11205 0         0 my @item = ();
11206 0         0 my %item = ();
11207 0   0     0 my $repeating = defined($_[2]) && $_[2];
11208 0   0     0 my $_noactions = defined($_[3]) && $_[3];
11209 0 0       0 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  0         0  
  0         0  
11210 0 0       0 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
11211 0         0 my $text;
11212 0         0 my $lastsep="";
11213 0         0 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
11214 0         0 $expectation->at($_[1]);
11215            
11216 0         0 my $thisline;
11217 0         0 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
11218              
11219            
11220              
11221 0   0     0 while (!$_matched && !$commit)
11222             {
11223 0 0       0 local $skip = defined($skip) ? $skip : $Parse::RecDescent::skip;
11224 0 0       0 Parse::RecDescent::_trace(q{Trying production: ['(' value ')' valarray]},
11225             Parse::RecDescent::_tracefirst($_[1]),
11226             q{valarray},
11227             $tracelevel)
11228             if defined $::RD_TRACE;
11229 0         0 my $thisprod = $thisrule->{"prods"}[0];
11230 0         0 $text = $_[1];
11231 0         0 my $_savetext;
11232 0         0 @item = (q{valarray});
11233 0         0 %item = (__RULE__ => q{valarray});
11234 0         0 my $repcount = 0;
11235              
11236              
11237 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: ['(']},
11238             Parse::RecDescent::_tracefirst($text),
11239             q{valarray},
11240             $tracelevel)
11241             if defined $::RD_TRACE;
11242 0         0 $lastsep = "";
11243 0         0 $expectation->is(q{})->at($text);
11244            
11245              
11246 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\(//)
  0 0       0  
11247             {
11248            
11249 0         0 $expectation->failed();
11250 0 0       0 Parse::RecDescent::_trace(qq{<>},
11251             Parse::RecDescent::_tracefirst($text))
11252             if defined $::RD_TRACE;
11253 0         0 last;
11254             }
11255 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
11256             . $& . q{])},
11257             Parse::RecDescent::_tracefirst($text))
11258             if defined $::RD_TRACE;
11259 0         0 push @item, $item{__STRING1__}=$&;
11260            
11261              
11262            
11263              
11264 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
11265             Parse::RecDescent::_tracefirst($text),
11266             q{valarray},
11267             $tracelevel)
11268             if defined $::RD_TRACE;
11269 0         0 $_tok = do { my $oldskip = $skip; $skip=""; $oldskip };
  0         0  
  0         0  
  0         0  
11270 0 0       0 if (defined($_tok))
11271             {
11272 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
11273             . $_tok . q{])},
11274             Parse::RecDescent::_tracefirst($text))
11275             if defined $::RD_TRACE;
11276             }
11277             else
11278             {
11279 0 0       0 Parse::RecDescent::_trace(q{<>},
11280             Parse::RecDescent::_tracefirst($text))
11281             if defined $::RD_TRACE;
11282             }
11283            
11284 0 0       0 last unless defined $_tok;
11285 0         0 push @item, $item{__DIRECTIVE1__}=$_tok;
11286            
11287              
11288 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [value]},
11289             Parse::RecDescent::_tracefirst($text),
11290             q{valarray},
11291             $tracelevel)
11292             if defined $::RD_TRACE;
11293 15     15   207 if (1) { no strict qw{refs};
  15         47  
  15         14586  
  0         0  
11294 0         0 $expectation->is(q{value})->at($text);
11295 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::value($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
11296             {
11297            
11298 0 0       0 Parse::RecDescent::_trace(q{<>},
11299             Parse::RecDescent::_tracefirst($text),
11300             q{valarray},
11301             $tracelevel)
11302             if defined $::RD_TRACE;
11303 0         0 $expectation->failed();
11304 0         0 last;
11305             }
11306 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [value]<< (return value: [}
11307             . $_tok . q{]},
11308            
11309             Parse::RecDescent::_tracefirst($text),
11310             q{valarray},
11311             $tracelevel)
11312             if defined $::RD_TRACE;
11313 0         0 $item{q{value}} = $_tok;
11314 0         0 push @item, $_tok;
11315            
11316             }
11317              
11318            
11319              
11320 0 0       0 Parse::RecDescent::_trace(q{Trying directive: []},
11321             Parse::RecDescent::_tracefirst($text),
11322             q{valarray},
11323             $tracelevel)
11324             if defined $::RD_TRACE;
11325 0         0 $_tok = do { my $oldskip = $skip; $skip=$item[2]; $oldskip };
  0         0  
  0         0  
  0         0  
11326 0 0       0 if (defined($_tok))
11327             {
11328 0 0       0 Parse::RecDescent::_trace(q{>>Matched directive<< (return value: [}
11329             . $_tok . q{])},
11330             Parse::RecDescent::_tracefirst($text))
11331             if defined $::RD_TRACE;
11332             }
11333             else
11334             {
11335 0 0       0 Parse::RecDescent::_trace(q{<>},
11336             Parse::RecDescent::_tracefirst($text))
11337             if defined $::RD_TRACE;
11338             }
11339            
11340 0 0       0 last unless defined $_tok;
11341 0         0 push @item, $item{__DIRECTIVE2__}=$_tok;
11342            
11343              
11344 0 0       0 Parse::RecDescent::_trace(q{Trying terminal: [')']},
11345             Parse::RecDescent::_tracefirst($text),
11346             q{valarray},
11347             $tracelevel)
11348             if defined $::RD_TRACE;
11349 0         0 $lastsep = "";
11350 0         0 $expectation->is(q{')'})->at($text);
11351            
11352              
11353 0 0 0     0 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\)//)
  0 0       0  
11354             {
11355            
11356 0         0 $expectation->failed();
11357 0 0       0 Parse::RecDescent::_trace(qq{<>},
11358             Parse::RecDescent::_tracefirst($text))
11359             if defined $::RD_TRACE;
11360 0         0 last;
11361             }
11362 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
11363             . $& . q{])},
11364             Parse::RecDescent::_tracefirst($text))
11365             if defined $::RD_TRACE;
11366 0         0 push @item, $item{__STRING2__}=$&;
11367            
11368              
11369 0 0       0 Parse::RecDescent::_trace(q{Trying subrule: [valarray]},
11370             Parse::RecDescent::_tracefirst($text),
11371             q{valarray},
11372             $tracelevel)
11373             if defined $::RD_TRACE;
11374 15     15   96 if (1) { no strict qw{refs};
  15         49  
  15         17918  
  0         0  
11375 0         0 $expectation->is(q{valarray})->at($text);
11376 0 0   0   0 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::valarray($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  0         0  
11377             {
11378            
11379 0 0       0 Parse::RecDescent::_trace(q{<>},
11380             Parse::RecDescent::_tracefirst($text),
11381             q{valarray},
11382             $tracelevel)
11383             if defined $::RD_TRACE;
11384 0         0 $expectation->failed();
11385 0         0 last;
11386             }
11387 0 0       0 Parse::RecDescent::_trace(q{>>Matched subrule: [valarray]<< (return value: [}
11388             . $_tok . q{]},
11389            
11390             Parse::RecDescent::_tracefirst($text),
11391             q{valarray},
11392             $tracelevel)
11393             if defined $::RD_TRACE;
11394 0         0 $item{q{valarray}} = $_tok;
11395 0         0 push @item, $_tok;
11396            
11397             }
11398              
11399 0 0       0 Parse::RecDescent::_trace(q{Trying action},
11400             Parse::RecDescent::_tracefirst($text),
11401             q{valarray},
11402             $tracelevel)
11403             if defined $::RD_TRACE;
11404            
11405              
11406 0 0       0 $_tok = ($_noactions) ? 0 : do {
11407 0         0 push @{$return}, $item{value}, @{$item{valarray}};
  0         0  
  0         0  
11408             };
11409 0 0       0 unless (defined $_tok)
11410             {
11411 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
11412             if defined $::RD_TRACE;
11413 0         0 last;
11414             }
11415 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
11416             . $_tok . q{])},
11417             Parse::RecDescent::_tracefirst($text))
11418             if defined $::RD_TRACE;
11419 0         0 push @item, $_tok;
11420 0         0 $item{__ACTION1__}=$_tok;
11421            
11422              
11423              
11424 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['(' value ')' valarray]<<},
11425             Parse::RecDescent::_tracefirst($text),
11426             q{valarray},
11427             $tracelevel)
11428             if defined $::RD_TRACE;
11429 0         0 $_matched = 1;
11430 0         0 last;
11431             }
11432              
11433             splice
11434 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
11435            
11436 0   0     0 while (!$_matched && !$commit)
11437             {
11438            
11439 0 0       0 Parse::RecDescent::_trace(q{Trying production: []},
11440             Parse::RecDescent::_tracefirst($_[1]),
11441             q{valarray},
11442             $tracelevel)
11443             if defined $::RD_TRACE;
11444 0         0 my $thisprod = $thisrule->{"prods"}[1];
11445 0         0 $text = $_[1];
11446 0         0 my $_savetext;
11447 0         0 @item = (q{valarray});
11448 0         0 %item = (__RULE__ => q{valarray});
11449 0         0 my $repcount = 0;
11450              
11451              
11452 0 0       0 Parse::RecDescent::_trace(q{Trying action},
11453             Parse::RecDescent::_tracefirst($text),
11454             q{valarray},
11455             $tracelevel)
11456             if defined $::RD_TRACE;
11457            
11458              
11459 0 0       0 $_tok = ($_noactions) ? 0 : do { $return = []; };
  0         0  
11460 0 0       0 unless (defined $_tok)
11461             {
11462 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
11463             if defined $::RD_TRACE;
11464 0         0 last;
11465             }
11466 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
11467             . $_tok . q{])},
11468             Parse::RecDescent::_tracefirst($text))
11469             if defined $::RD_TRACE;
11470 0         0 push @item, $_tok;
11471 0         0 $item{__ACTION1__}=$_tok;
11472            
11473              
11474              
11475 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: []<<},
11476             Parse::RecDescent::_tracefirst($text),
11477             q{valarray},
11478             $tracelevel)
11479             if defined $::RD_TRACE;
11480 0         0 $_matched = 1;
11481 0         0 last;
11482             }
11483              
11484             splice
11485 0 0       0 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
11486            
11487 0 0 0     0 unless ( $_matched || defined($return) || defined($score) )
      0        
11488             {
11489 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
11490            
11491              
11492 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
11493 0 0       0 Parse::RecDescent::_trace(q{<>},
11494             Parse::RecDescent::_tracefirst($_[1]),
11495             q{valarray},
11496             $tracelevel)
11497             if defined $::RD_TRACE;
11498 0         0 return undef;
11499             }
11500 0 0 0     0 if (!defined($return) && defined($score))
11501             {
11502 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
11503             q{valarray},
11504             $tracelevel)
11505             if defined $::RD_TRACE;
11506 0         0 $return = $score_return;
11507             }
11508 0         0 splice @{$thisparser->{errors}}, $err_at;
  0         0  
11509 0 0       0 $return = $item[$#item] unless defined $return;
11510 0 0       0 if (defined $::RD_TRACE)
11511             {
11512 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
11513             $return . q{])}, "",
11514             q{valarray},
11515             $tracelevel);
11516 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
11517             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
11518             Parse::RecDescent::_tracefirst($text),
11519             , q{valarray},
11520             $tracelevel)
11521             }
11522 0         0 $_[1] = $text;
11523 0         0 return $return;
11524             }
11525              
11526             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
11527             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::idnumchars
11528             {
11529 183     183   247 my $thisparser = $_[0];
11530 15     15   103 use vars q{$tracelevel};
  15         36  
  15         6944  
11531 183   50     445 local $tracelevel = ($tracelevel||0)+1;
11532 183         244 $ERRORS = 0;
11533 183         311 my $thisrule = $thisparser->{"rules"}{"idnumchars"};
11534            
11535 183 50       349 Parse::RecDescent::_trace(q{Trying rule: [idnumchars]},
11536             Parse::RecDescent::_tracefirst($_[1]),
11537             q{idnumchars},
11538             $tracelevel)
11539             if defined $::RD_TRACE;
11540              
11541 183         169 my $def_at = @{$thisparser->{deferred}};
  183         307  
11542 183         200 my $err_at = @{$thisparser->{errors}};
  183         277  
11543              
11544 183         211 my $score;
11545             my $score_return;
11546 0         0 my $_tok;
11547 183         185 my $return = undef;
11548 183         207 my $_matched=0;
11549 183         176 my $commit=0;
11550 183         238 my @item = ();
11551 183         238 my %item = ();
11552 183   33     461 my $repeating = defined($_[2]) && $_[2];
11553 183   33     446 my $_noactions = defined($_[3]) && $_[3];
11554 183 50       296 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  183         183  
  183         306  
11555 183 50       462 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
11556 183         191 my $text;
11557 183         212 my $lastsep="";
11558 183         471 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
11559 183         6513 $expectation->at($_[1]);
11560            
11561 183         616 my $thisline;
11562 183         740 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
11563              
11564            
11565              
11566 183   33     1590 while (!$_matched && !$commit)
11567             {
11568            
11569 183 50       369 Parse::RecDescent::_trace(q{Trying production: [idnumchar idnumchars]},
11570             Parse::RecDescent::_tracefirst($_[1]),
11571             q{idnumchars},
11572             $tracelevel)
11573             if defined $::RD_TRACE;
11574 183         273 my $thisprod = $thisrule->{"prods"}[0];
11575 183         229 $text = $_[1];
11576 183         176 my $_savetext;
11577 183         343 @item = (q{idnumchars});
11578 183         359 %item = (__RULE__ => q{idnumchars});
11579 183         190 my $repcount = 0;
11580              
11581              
11582 183 50       325 Parse::RecDescent::_trace(q{Trying subrule: [idnumchar]},
11583             Parse::RecDescent::_tracefirst($text),
11584             q{idnumchars},
11585             $tracelevel)
11586             if defined $::RD_TRACE;
11587 15     15   99 if (1) { no strict qw{refs};
  15         39  
  15         3657  
  183         168  
11588 183         471 $expectation->is(q{})->at($text);
11589 183 100   85   1571 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::idnumchar($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  183         329  
11590             {
11591            
11592 4 50       17 Parse::RecDescent::_trace(q{<>},
11593             Parse::RecDescent::_tracefirst($text),
11594             q{idnumchars},
11595             $tracelevel)
11596             if defined $::RD_TRACE;
11597 4         15 $expectation->failed();
11598 4         22 last;
11599             }
11600 179 50       649 Parse::RecDescent::_trace(q{>>Matched subrule: [idnumchar]<< (return value: [}
11601             . $_tok . q{]},
11602            
11603             Parse::RecDescent::_tracefirst($text),
11604             q{idnumchars},
11605             $tracelevel)
11606             if defined $::RD_TRACE;
11607 179         298 $item{q{idnumchar}} = $_tok;
11608 179         274 push @item, $_tok;
11609            
11610             }
11611              
11612 179 50       316 Parse::RecDescent::_trace(q{Trying subrule: [idnumchars]},
11613             Parse::RecDescent::_tracefirst($text),
11614             q{idnumchars},
11615             $tracelevel)
11616             if defined $::RD_TRACE;
11617 15     15   97 if (1) { no strict qw{refs};
  15         39  
  15         26669  
  179         196  
11618 179         446 $expectation->is(q{idnumchars})->at($text);
11619 179 50   83   2294 unless (defined ($_tok = Parse::RecDescent::PDF::FDF::Simple::Grammar::idnumchars($thisparser,$text,$repeating,$_noactions,sub { \@arg })))
  179         353  
11620             {
11621            
11622 0 0       0 Parse::RecDescent::_trace(q{<>},
11623             Parse::RecDescent::_tracefirst($text),
11624             q{idnumchars},
11625             $tracelevel)
11626             if defined $::RD_TRACE;
11627 0         0 $expectation->failed();
11628 0         0 last;
11629             }
11630 179 50       648 Parse::RecDescent::_trace(q{>>Matched subrule: [idnumchars]<< (return value: [}
11631             . $_tok . q{]},
11632            
11633             Parse::RecDescent::_tracefirst($text),
11634             q{idnumchars},
11635             $tracelevel)
11636             if defined $::RD_TRACE;
11637 179         303 $item{q{idnumchars}} = $_tok;
11638 179         264 push @item, $_tok;
11639            
11640             }
11641              
11642 179 50       328 Parse::RecDescent::_trace(q{Trying action},
11643             Parse::RecDescent::_tracefirst($text),
11644             q{idnumchars},
11645             $tracelevel)
11646             if defined $::RD_TRACE;
11647            
11648              
11649 179 50       277 $_tok = ($_noactions) ? 0 : do {
11650 179         456 $return = $item{idnumchar}.$item{idnumchars};
11651             };
11652 179 50       362 unless (defined $_tok)
11653             {
11654 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
11655             if defined $::RD_TRACE;
11656 0         0 last;
11657             }
11658 179 50       326 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
11659             . $_tok . q{])},
11660             Parse::RecDescent::_tracefirst($text))
11661             if defined $::RD_TRACE;
11662 179         235 push @item, $_tok;
11663 179         249 $item{__ACTION1__}=$_tok;
11664            
11665              
11666              
11667 179 50       308 Parse::RecDescent::_trace(q{>>Matched production: [idnumchar idnumchars]<<},
11668             Parse::RecDescent::_tracefirst($text),
11669             q{idnumchars},
11670             $tracelevel)
11671             if defined $::RD_TRACE;
11672 179         182 $_matched = 1;
11673 179         277 last;
11674             }
11675              
11676             splice
11677 183 100       346 @{$thisparser->{deferred}}, $def_at unless $_matched;
  4         11  
11678            
11679 183   66     366 while (!$_matched && !$commit)
11680             {
11681            
11682 4 50       13 Parse::RecDescent::_trace(q{Trying production: []},
11683             Parse::RecDescent::_tracefirst($_[1]),
11684             q{idnumchars},
11685             $tracelevel)
11686             if defined $::RD_TRACE;
11687 4         10 my $thisprod = $thisrule->{"prods"}[1];
11688 4         10 $text = $_[1];
11689 4         7 my $_savetext;
11690 4         10 @item = (q{idnumchars});
11691 4         10 %item = (__RULE__ => q{idnumchars});
11692 4         6 my $repcount = 0;
11693              
11694              
11695 4 50       13 Parse::RecDescent::_trace(q{Trying action},
11696             Parse::RecDescent::_tracefirst($text),
11697             q{idnumchars},
11698             $tracelevel)
11699             if defined $::RD_TRACE;
11700            
11701              
11702 4 50       11 $_tok = ($_noactions) ? 0 : do {
11703 4         14 $return = "";
11704             };
11705 4 50       14 unless (defined $_tok)
11706             {
11707 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
11708             if defined $::RD_TRACE;
11709 0         0 last;
11710             }
11711 4 50       11 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
11712             . $_tok . q{])},
11713             Parse::RecDescent::_tracefirst($text))
11714             if defined $::RD_TRACE;
11715 4         8 push @item, $_tok;
11716 4         10 $item{__ACTION1__}=$_tok;
11717            
11718              
11719              
11720 4 50       16 Parse::RecDescent::_trace(q{>>Matched production: []<<},
11721             Parse::RecDescent::_tracefirst($text),
11722             q{idnumchars},
11723             $tracelevel)
11724             if defined $::RD_TRACE;
11725 4         7 $_matched = 1;
11726 4         8 last;
11727             }
11728              
11729             splice
11730 183 50       333 @{$thisparser->{deferred}}, $def_at unless $_matched;
  0         0  
11731            
11732 183 0 33     384 unless ( $_matched || defined($return) || defined($score) )
      33        
11733             {
11734 0         0 splice @{$thisparser->{deferred}}, $def_at;
  0         0  
11735            
11736              
11737 0         0 $_[1] = $text; # NOT SURE THIS IS NEEDED
11738 0 0       0 Parse::RecDescent::_trace(q{<>},
11739             Parse::RecDescent::_tracefirst($_[1]),
11740             q{idnumchars},
11741             $tracelevel)
11742             if defined $::RD_TRACE;
11743 0         0 return undef;
11744             }
11745 183 50 33     384 if (!defined($return) && defined($score))
11746             {
11747 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
11748             q{idnumchars},
11749             $tracelevel)
11750             if defined $::RD_TRACE;
11751 0         0 $return = $score_return;
11752             }
11753 183         186 splice @{$thisparser->{errors}}, $err_at;
  183         323  
11754 183 50       357 $return = $item[$#item] unless defined $return;
11755 183 50       312 if (defined $::RD_TRACE)
11756             {
11757 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
11758             $return . q{])}, "",
11759             q{idnumchars},
11760             $tracelevel);
11761 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
11762             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
11763             Parse::RecDescent::_tracefirst($text),
11764             , q{idnumchars},
11765             $tracelevel)
11766             }
11767 183         263 $_[1] = $text;
11768 183         1585 return $return;
11769             }
11770              
11771             # ARGS ARE: ($parser, $text; $repeating, $_noactions, \@args)
11772             sub Parse::RecDescent::PDF::FDF::Simple::Grammar::valuechar
11773             {
11774 2666     2666   3574 my $thisparser = $_[0];
11775 15     15   107 use vars q{$tracelevel};
  15         37  
  15         414723  
11776 2666   50     6853 local $tracelevel = ($tracelevel||0)+1;
11777 2666         3206 $ERRORS = 0;
11778 2666         5766 my $thisrule = $thisparser->{"rules"}{"valuechar"};
11779            
11780 2666 50       5230 Parse::RecDescent::_trace(q{Trying rule: [valuechar]},
11781             Parse::RecDescent::_tracefirst($_[1]),
11782             q{valuechar},
11783             $tracelevel)
11784             if defined $::RD_TRACE;
11785              
11786 2666         2758 my $def_at = @{$thisparser->{deferred}};
  2666         4803  
11787 2666         2938 my $err_at = @{$thisparser->{errors}};
  2666         4289  
11788              
11789 2666         3077 my $score;
11790             my $score_return;
11791 0         0 my $_tok;
11792 2666         3000 my $return = undef;
11793 2666         2876 my $_matched=0;
11794 2666         2879 my $commit=0;
11795 2666         4000 my @item = ();
11796 2666         3799 my %item = ();
11797 2666   33     7711 my $repeating = defined($_[2]) && $_[2];
11798 2666   33     6989 my $_noactions = defined($_[3]) && $_[3];
11799 2666 50       4768 my @arg = defined $_[4] ? @{ &{$_[4]} } : ();
  2666         6454  
  2666         5646  
11800 2666 50       6838 my %arg = ($#arg & 01) ? @arg : (@arg, undef);
11801 2666         2880 my $text;
11802 2666         3448 my $lastsep="";
11803 2666         7857 my $expectation = new Parse::RecDescent::Expectation($thisrule->expected());
11804 2666         1067378 $expectation->at($_[1]);
11805            
11806 2666         10691 my $thisline;
11807 2666         13026 tie $thisline, q{Parse::RecDescent::LineCounter}, \$text, $thisparser;
11808              
11809            
11810              
11811 2666   33     26757 while (!$_matched && !$commit)
11812             {
11813            
11814 2666 50       6124 Parse::RecDescent::_trace(q{Trying production: ['\\\\']},
11815             Parse::RecDescent::_tracefirst($_[1]),
11816             q{valuechar},
11817             $tracelevel)
11818             if defined $::RD_TRACE;
11819 2666         5057 my $thisprod = $thisrule->{"prods"}[0];
11820 2666         3665 $text = $_[1];
11821 2666         2930 my $_savetext;
11822 2666         4803 @item = (q{valuechar});
11823 2666         5454 %item = (__RULE__ => q{valuechar});
11824 2666         3279 my $repcount = 0;
11825              
11826              
11827 2666 50       5637 Parse::RecDescent::_trace(q{Trying terminal: ['\\\\']},
11828             Parse::RecDescent::_tracefirst($text),
11829             q{valuechar},
11830             $tracelevel)
11831             if defined $::RD_TRACE;
11832 2666         3746 $lastsep = "";
11833 2666         7132 $expectation->is(q{})->at($text);
11834            
11835              
11836 2666 50 66     29328 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\\//)
  2666 100       140006  
11837             {
11838            
11839 2658         7573 $expectation->failed();
11840 2658 50       12173 Parse::RecDescent::_trace(qq{<>},
11841             Parse::RecDescent::_tracefirst($text))
11842             if defined $::RD_TRACE;
11843 2658         5432 last;
11844             }
11845 8 50       35 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
11846             . $& . q{])},
11847             Parse::RecDescent::_tracefirst($text))
11848             if defined $::RD_TRACE;
11849 8         32 push @item, $item{__STRING1__}=$&;
11850            
11851              
11852 8 50       33 Parse::RecDescent::_trace(q{Trying action},
11853             Parse::RecDescent::_tracefirst($text),
11854             q{valuechar},
11855             $tracelevel)
11856             if defined $::RD_TRACE;
11857            
11858              
11859 8 50       64 $_tok = ($_noactions) ? 0 : do {
11860 8         27 $return = chr(92);
11861             };
11862 8 50       31 unless (defined $_tok)
11863             {
11864 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
11865             if defined $::RD_TRACE;
11866 0         0 last;
11867             }
11868 8 50       26 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
11869             . $_tok . q{])},
11870             Parse::RecDescent::_tracefirst($text))
11871             if defined $::RD_TRACE;
11872 8         18 push @item, $_tok;
11873 8         23 $item{__ACTION1__}=$_tok;
11874            
11875              
11876              
11877 8 50       27 Parse::RecDescent::_trace(q{>>Matched production: ['\\\\']<<},
11878             Parse::RecDescent::_tracefirst($text),
11879             q{valuechar},
11880             $tracelevel)
11881             if defined $::RD_TRACE;
11882 8         12 $_matched = 1;
11883 8         33 last;
11884             }
11885              
11886             splice
11887 2666 100       6687 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2658         5576  
11888            
11889 2666   66     8780 while (!$_matched && !$commit)
11890             {
11891            
11892 2658 50       5113 Parse::RecDescent::_trace(q{Trying production: ['\\#']},
11893             Parse::RecDescent::_tracefirst($_[1]),
11894             q{valuechar},
11895             $tracelevel)
11896             if defined $::RD_TRACE;
11897 2658         4560 my $thisprod = $thisrule->{"prods"}[1];
11898 2658         5045 $text = $_[1];
11899 2658         2944 my $_savetext;
11900 2658         5037 @item = (q{valuechar});
11901 2658         5696 %item = (__RULE__ => q{valuechar});
11902 2658         3112 my $repcount = 0;
11903              
11904              
11905 2658 50       5124 Parse::RecDescent::_trace(q{Trying terminal: ['\\#']},
11906             Parse::RecDescent::_tracefirst($text),
11907             q{valuechar},
11908             $tracelevel)
11909             if defined $::RD_TRACE;
11910 2658         3534 $lastsep = "";
11911 2658         7154 $expectation->is(q{})->at($text);
11912            
11913              
11914 2658 50 33     25307 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\#//)
  2658 50       23648  
11915             {
11916            
11917 2658         7426 $expectation->failed();
11918 2658 50       11216 Parse::RecDescent::_trace(qq{<>},
11919             Parse::RecDescent::_tracefirst($text))
11920             if defined $::RD_TRACE;
11921 2658         4980 last;
11922             }
11923 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
11924             . $& . q{])},
11925             Parse::RecDescent::_tracefirst($text))
11926             if defined $::RD_TRACE;
11927 0         0 push @item, $item{__STRING1__}=$&;
11928            
11929              
11930 0 0       0 Parse::RecDescent::_trace(q{Trying action},
11931             Parse::RecDescent::_tracefirst($text),
11932             q{valuechar},
11933             $tracelevel)
11934             if defined $::RD_TRACE;
11935            
11936              
11937 0 0       0 $_tok = ($_noactions) ? 0 : do {
11938 0         0 $return = "#";
11939             };
11940 0 0       0 unless (defined $_tok)
11941             {
11942 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
11943             if defined $::RD_TRACE;
11944 0         0 last;
11945             }
11946 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
11947             . $_tok . q{])},
11948             Parse::RecDescent::_tracefirst($text))
11949             if defined $::RD_TRACE;
11950 0         0 push @item, $_tok;
11951 0         0 $item{__ACTION1__}=$_tok;
11952            
11953              
11954              
11955 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['\\#']<<},
11956             Parse::RecDescent::_tracefirst($text),
11957             q{valuechar},
11958             $tracelevel)
11959             if defined $::RD_TRACE;
11960 0         0 $_matched = 1;
11961 0         0 last;
11962             }
11963              
11964             splice
11965 2666 100       6435 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2658         5160  
11966            
11967 2666   66     8415 while (!$_matched && !$commit)
11968             {
11969            
11970 2658 50       5572 Parse::RecDescent::_trace(q{Trying production: ['\\\\r']},
11971             Parse::RecDescent::_tracefirst($_[1]),
11972             q{valuechar},
11973             $tracelevel)
11974             if defined $::RD_TRACE;
11975 2658         4678 my $thisprod = $thisrule->{"prods"}[2];
11976 2658         4308 $text = $_[1];
11977 2658         3006 my $_savetext;
11978 2658         4827 @item = (q{valuechar});
11979 2658         5303 %item = (__RULE__ => q{valuechar});
11980 2658         3331 my $repcount = 0;
11981              
11982              
11983 2658 50       5057 Parse::RecDescent::_trace(q{Trying terminal: ['\\\\r']},
11984             Parse::RecDescent::_tracefirst($text),
11985             q{valuechar},
11986             $tracelevel)
11987             if defined $::RD_TRACE;
11988 2658         3838 $lastsep = "";
11989 2658         7294 $expectation->is(q{})->at($text);
11990            
11991              
11992 2658 50 33     23961 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\\r//)
  2658 50       27507  
11993             {
11994            
11995 2658         7456 $expectation->failed();
11996 2658 50       11318 Parse::RecDescent::_trace(qq{<>},
11997             Parse::RecDescent::_tracefirst($text))
11998             if defined $::RD_TRACE;
11999 2658         4714 last;
12000             }
12001 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12002             . $& . q{])},
12003             Parse::RecDescent::_tracefirst($text))
12004             if defined $::RD_TRACE;
12005 0         0 push @item, $item{__STRING1__}=$&;
12006            
12007              
12008 0 0       0 Parse::RecDescent::_trace(q{Trying action},
12009             Parse::RecDescent::_tracefirst($text),
12010             q{valuechar},
12011             $tracelevel)
12012             if defined $::RD_TRACE;
12013            
12014              
12015 0 0       0 $_tok = ($_noactions) ? 0 : do {
12016 0         0 $return = '\r';
12017             };
12018 0 0       0 unless (defined $_tok)
12019             {
12020 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12021             if defined $::RD_TRACE;
12022 0         0 last;
12023             }
12024 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12025             . $_tok . q{])},
12026             Parse::RecDescent::_tracefirst($text))
12027             if defined $::RD_TRACE;
12028 0         0 push @item, $_tok;
12029 0         0 $item{__ACTION1__}=$_tok;
12030            
12031              
12032              
12033 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['\\\\r']<<},
12034             Parse::RecDescent::_tracefirst($text),
12035             q{valuechar},
12036             $tracelevel)
12037             if defined $::RD_TRACE;
12038 0         0 $_matched = 1;
12039 0         0 last;
12040             }
12041              
12042             splice
12043 2666 100       5878 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2658         5124  
12044            
12045 2666   66     8712 while (!$_matched && !$commit)
12046             {
12047            
12048 2658 50       5115 Parse::RecDescent::_trace(q{Trying production: ['\\\\t']},
12049             Parse::RecDescent::_tracefirst($_[1]),
12050             q{valuechar},
12051             $tracelevel)
12052             if defined $::RD_TRACE;
12053 2658         4415 my $thisprod = $thisrule->{"prods"}[3];
12054 2658         10052 $text = $_[1];
12055 2658         3046 my $_savetext;
12056 2658         4961 @item = (q{valuechar});
12057 2658         5256 %item = (__RULE__ => q{valuechar});
12058 2658         3188 my $repcount = 0;
12059              
12060              
12061 2658 50       5050 Parse::RecDescent::_trace(q{Trying terminal: ['\\\\t']},
12062             Parse::RecDescent::_tracefirst($text),
12063             q{valuechar},
12064             $tracelevel)
12065             if defined $::RD_TRACE;
12066 2658         3219 $lastsep = "";
12067 2658         7214 $expectation->is(q{})->at($text);
12068            
12069              
12070 2658 50 33     24360 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\\t//)
  2658 50       31307  
12071             {
12072            
12073 2658         7405 $expectation->failed();
12074 2658 50       10978 Parse::RecDescent::_trace(qq{<>},
12075             Parse::RecDescent::_tracefirst($text))
12076             if defined $::RD_TRACE;
12077 2658         4906 last;
12078             }
12079 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12080             . $& . q{])},
12081             Parse::RecDescent::_tracefirst($text))
12082             if defined $::RD_TRACE;
12083 0         0 push @item, $item{__STRING1__}=$&;
12084            
12085              
12086 0 0       0 Parse::RecDescent::_trace(q{Trying action},
12087             Parse::RecDescent::_tracefirst($text),
12088             q{valuechar},
12089             $tracelevel)
12090             if defined $::RD_TRACE;
12091            
12092              
12093 0 0       0 $_tok = ($_noactions) ? 0 : do {
12094 0         0 $return = '\t';
12095             };
12096 0 0       0 unless (defined $_tok)
12097             {
12098 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12099             if defined $::RD_TRACE;
12100 0         0 last;
12101             }
12102 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12103             . $_tok . q{])},
12104             Parse::RecDescent::_tracefirst($text))
12105             if defined $::RD_TRACE;
12106 0         0 push @item, $_tok;
12107 0         0 $item{__ACTION1__}=$_tok;
12108            
12109              
12110              
12111 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['\\\\t']<<},
12112             Parse::RecDescent::_tracefirst($text),
12113             q{valuechar},
12114             $tracelevel)
12115             if defined $::RD_TRACE;
12116 0         0 $_matched = 1;
12117 0         0 last;
12118             }
12119              
12120             splice
12121 2666 100       6072 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2658         5446  
12122            
12123 2666   66     8788 while (!$_matched && !$commit)
12124             {
12125            
12126 2658 50       5195 Parse::RecDescent::_trace(q{Trying production: ['\\\\n']},
12127             Parse::RecDescent::_tracefirst($_[1]),
12128             q{valuechar},
12129             $tracelevel)
12130             if defined $::RD_TRACE;
12131 2658         4529 my $thisprod = $thisrule->{"prods"}[4];
12132 2658         5902 $text = $_[1];
12133 2658         2641 my $_savetext;
12134 2658         4828 @item = (q{valuechar});
12135 2658         5460 %item = (__RULE__ => q{valuechar});
12136 2658         3123 my $repcount = 0;
12137              
12138              
12139 2658 50       4981 Parse::RecDescent::_trace(q{Trying terminal: ['\\\\n']},
12140             Parse::RecDescent::_tracefirst($text),
12141             q{valuechar},
12142             $tracelevel)
12143             if defined $::RD_TRACE;
12144 2658         3366 $lastsep = "";
12145 2658         7230 $expectation->is(q{})->at($text);
12146            
12147              
12148 2658 50 33     32843 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\\n//)
  2658 50       22754  
12149             {
12150            
12151 2658         7104 $expectation->failed();
12152 2658 50       16828 Parse::RecDescent::_trace(qq{<>},
12153             Parse::RecDescent::_tracefirst($text))
12154             if defined $::RD_TRACE;
12155 2658         5048 last;
12156             }
12157 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12158             . $& . q{])},
12159             Parse::RecDescent::_tracefirst($text))
12160             if defined $::RD_TRACE;
12161 0         0 push @item, $item{__STRING1__}=$&;
12162            
12163              
12164 0 0       0 Parse::RecDescent::_trace(q{Trying action},
12165             Parse::RecDescent::_tracefirst($text),
12166             q{valuechar},
12167             $tracelevel)
12168             if defined $::RD_TRACE;
12169            
12170              
12171 0 0       0 $_tok = ($_noactions) ? 0 : do {
12172 0         0 $return = '\n';
12173             };
12174 0 0       0 unless (defined $_tok)
12175             {
12176 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12177             if defined $::RD_TRACE;
12178 0         0 last;
12179             }
12180 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12181             . $_tok . q{])},
12182             Parse::RecDescent::_tracefirst($text))
12183             if defined $::RD_TRACE;
12184 0         0 push @item, $_tok;
12185 0         0 $item{__ACTION1__}=$_tok;
12186            
12187              
12188              
12189 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['\\\\n']<<},
12190             Parse::RecDescent::_tracefirst($text),
12191             q{valuechar},
12192             $tracelevel)
12193             if defined $::RD_TRACE;
12194 0         0 $_matched = 1;
12195 0         0 last;
12196             }
12197              
12198             splice
12199 2666 100       6064 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2658         5450  
12200            
12201 2666   66     8774 while (!$_matched && !$commit)
12202             {
12203            
12204 2658 50       5129 Parse::RecDescent::_trace(q{Trying production: ['\\\\r']},
12205             Parse::RecDescent::_tracefirst($_[1]),
12206             q{valuechar},
12207             $tracelevel)
12208             if defined $::RD_TRACE;
12209 2658         4715 my $thisprod = $thisrule->{"prods"}[5];
12210 2658         4381 $text = $_[1];
12211 2658         2775 my $_savetext;
12212 2658         4575 @item = (q{valuechar});
12213 2658         5432 %item = (__RULE__ => q{valuechar});
12214 2658         3263 my $repcount = 0;
12215              
12216              
12217 2658 50       5566 Parse::RecDescent::_trace(q{Trying terminal: ['\\\\r']},
12218             Parse::RecDescent::_tracefirst($text),
12219             q{valuechar},
12220             $tracelevel)
12221             if defined $::RD_TRACE;
12222 2658         3204 $lastsep = "";
12223 2658         7718 $expectation->is(q{})->at($text);
12224            
12225              
12226 2658 50 33     27468 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\\r//)
  2658 50       28702  
12227             {
12228            
12229 2658         6874 $expectation->failed();
12230 2658 50       11109 Parse::RecDescent::_trace(qq{<>},
12231             Parse::RecDescent::_tracefirst($text))
12232             if defined $::RD_TRACE;
12233 2658         5066 last;
12234             }
12235 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12236             . $& . q{])},
12237             Parse::RecDescent::_tracefirst($text))
12238             if defined $::RD_TRACE;
12239 0         0 push @item, $item{__STRING1__}=$&;
12240            
12241              
12242 0 0       0 Parse::RecDescent::_trace(q{Trying action},
12243             Parse::RecDescent::_tracefirst($text),
12244             q{valuechar},
12245             $tracelevel)
12246             if defined $::RD_TRACE;
12247            
12248              
12249 0 0       0 $_tok = ($_noactions) ? 0 : do {
12250 0         0 $return = '';
12251             };
12252 0 0       0 unless (defined $_tok)
12253             {
12254 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12255             if defined $::RD_TRACE;
12256 0         0 last;
12257             }
12258 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12259             . $_tok . q{])},
12260             Parse::RecDescent::_tracefirst($text))
12261             if defined $::RD_TRACE;
12262 0         0 push @item, $_tok;
12263 0         0 $item{__ACTION1__}=$_tok;
12264            
12265              
12266              
12267 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['\\\\r']<<},
12268             Parse::RecDescent::_tracefirst($text),
12269             q{valuechar},
12270             $tracelevel)
12271             if defined $::RD_TRACE;
12272 0         0 $_matched = 1;
12273 0         0 last;
12274             }
12275              
12276             splice
12277 2666 100       5996 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2658         5313  
12278            
12279 2666   66     8903 while (!$_matched && !$commit)
12280             {
12281            
12282 2658 50       5503 Parse::RecDescent::_trace(q{Trying production: ['\\\\n']},
12283             Parse::RecDescent::_tracefirst($_[1]),
12284             q{valuechar},
12285             $tracelevel)
12286             if defined $::RD_TRACE;
12287 2658         4397 my $thisprod = $thisrule->{"prods"}[6];
12288 2658         4706 $text = $_[1];
12289 2658         2942 my $_savetext;
12290 2658         4959 @item = (q{valuechar});
12291 2658         6089 %item = (__RULE__ => q{valuechar});
12292 2658         3240 my $repcount = 0;
12293              
12294              
12295 2658 50       5242 Parse::RecDescent::_trace(q{Trying terminal: ['\\\\n']},
12296             Parse::RecDescent::_tracefirst($text),
12297             q{valuechar},
12298             $tracelevel)
12299             if defined $::RD_TRACE;
12300 2658         3179 $lastsep = "";
12301 2658         7360 $expectation->is(q{})->at($text);
12302            
12303              
12304 2658 50 33     23890 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\\n//)
  2658 50       22443  
12305             {
12306            
12307 2658         6980 $expectation->failed();
12308 2658 50       11586 Parse::RecDescent::_trace(qq{<>},
12309             Parse::RecDescent::_tracefirst($text))
12310             if defined $::RD_TRACE;
12311 2658         4787 last;
12312             }
12313 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12314             . $& . q{])},
12315             Parse::RecDescent::_tracefirst($text))
12316             if defined $::RD_TRACE;
12317 0         0 push @item, $item{__STRING1__}=$&;
12318            
12319              
12320 0 0       0 Parse::RecDescent::_trace(q{Trying action},
12321             Parse::RecDescent::_tracefirst($text),
12322             q{valuechar},
12323             $tracelevel)
12324             if defined $::RD_TRACE;
12325            
12326              
12327 0 0       0 $_tok = ($_noactions) ? 0 : do {
12328 0         0 $return = '';
12329             };
12330 0 0       0 unless (defined $_tok)
12331             {
12332 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12333             if defined $::RD_TRACE;
12334 0         0 last;
12335             }
12336 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12337             . $_tok . q{])},
12338             Parse::RecDescent::_tracefirst($text))
12339             if defined $::RD_TRACE;
12340 0         0 push @item, $_tok;
12341 0         0 $item{__ACTION1__}=$_tok;
12342            
12343              
12344              
12345 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['\\\\n']<<},
12346             Parse::RecDescent::_tracefirst($text),
12347             q{valuechar},
12348             $tracelevel)
12349             if defined $::RD_TRACE;
12350 0         0 $_matched = 1;
12351 0         0 last;
12352             }
12353              
12354             splice
12355 2666 100       5834 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2658         5161  
12356            
12357 2666   66     9009 while (!$_matched && !$commit)
12358             {
12359            
12360 2658 50       5108 Parse::RecDescent::_trace(q{Trying production: ['\\r']},
12361             Parse::RecDescent::_tracefirst($_[1]),
12362             q{valuechar},
12363             $tracelevel)
12364             if defined $::RD_TRACE;
12365 2658         4695 my $thisprod = $thisrule->{"prods"}[7];
12366 2658         4847 $text = $_[1];
12367 2658         2769 my $_savetext;
12368 2658         5331 @item = (q{valuechar});
12369 2658         5298 %item = (__RULE__ => q{valuechar});
12370 2658         3162 my $repcount = 0;
12371              
12372              
12373 2658 50       5026 Parse::RecDescent::_trace(q{Trying terminal: ['\\r']},
12374             Parse::RecDescent::_tracefirst($text),
12375             q{valuechar},
12376             $tracelevel)
12377             if defined $::RD_TRACE;
12378 2658         3178 $lastsep = "";
12379 2658         7064 $expectation->is(q{})->at($text);
12380            
12381              
12382 2658 50 66     26012 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\r//)
  2658 100       28144  
12383             {
12384            
12385 2642         14154 $expectation->failed();
12386 2642 50       11486 Parse::RecDescent::_trace(qq{<>},
12387             Parse::RecDescent::_tracefirst($text))
12388             if defined $::RD_TRACE;
12389 2642         4793 last;
12390             }
12391 16 50       56 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12392             . $& . q{])},
12393             Parse::RecDescent::_tracefirst($text))
12394             if defined $::RD_TRACE;
12395 16         63 push @item, $item{__STRING1__}=$&;
12396            
12397              
12398 16 50       44 Parse::RecDescent::_trace(q{Trying action},
12399             Parse::RecDescent::_tracefirst($text),
12400             q{valuechar},
12401             $tracelevel)
12402             if defined $::RD_TRACE;
12403            
12404              
12405 16 50       59 $_tok = ($_noactions) ? 0 : do {
12406 16         48 $return = chr(13);
12407             };
12408 16 50       61 unless (defined $_tok)
12409             {
12410 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12411             if defined $::RD_TRACE;
12412 0         0 last;
12413             }
12414 16 50       44 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12415             . $_tok . q{])},
12416             Parse::RecDescent::_tracefirst($text))
12417             if defined $::RD_TRACE;
12418 16         31 push @item, $_tok;
12419 16         39 $item{__ACTION1__}=$_tok;
12420            
12421              
12422              
12423 16 50       40 Parse::RecDescent::_trace(q{>>Matched production: ['\\r']<<},
12424             Parse::RecDescent::_tracefirst($text),
12425             q{valuechar},
12426             $tracelevel)
12427             if defined $::RD_TRACE;
12428 16         28 $_matched = 1;
12429 16         32 last;
12430             }
12431              
12432             splice
12433 2666 100       6129 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2642         5061  
12434            
12435 2666   66     13359 while (!$_matched && !$commit)
12436             {
12437            
12438 2642 50       4828 Parse::RecDescent::_trace(q{Trying production: ['\\n']},
12439             Parse::RecDescent::_tracefirst($_[1]),
12440             q{valuechar},
12441             $tracelevel)
12442             if defined $::RD_TRACE;
12443 2642         4148 my $thisprod = $thisrule->{"prods"}[8];
12444 2642         4562 $text = $_[1];
12445 2642         2706 my $_savetext;
12446 2642         4733 @item = (q{valuechar});
12447 2642         5284 %item = (__RULE__ => q{valuechar});
12448 2642         2950 my $repcount = 0;
12449              
12450              
12451 2642 50       5035 Parse::RecDescent::_trace(q{Trying terminal: ['\\n']},
12452             Parse::RecDescent::_tracefirst($text),
12453             q{valuechar},
12454             $tracelevel)
12455             if defined $::RD_TRACE;
12456 2642         3047 $lastsep = "";
12457 2642         7780 $expectation->is(q{})->at($text);
12458            
12459              
12460 2642 50 66     23260 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\n//)
  2642 100       22166  
12461             {
12462            
12463 2641         6865 $expectation->failed();
12464 2641 50       10670 Parse::RecDescent::_trace(qq{<>},
12465             Parse::RecDescent::_tracefirst($text))
12466             if defined $::RD_TRACE;
12467 2641         4535 last;
12468             }
12469 1 50       6 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12470             . $& . q{])},
12471             Parse::RecDescent::_tracefirst($text))
12472             if defined $::RD_TRACE;
12473 1         4 push @item, $item{__STRING1__}=$&;
12474            
12475              
12476 1 50       4 Parse::RecDescent::_trace(q{Trying action},
12477             Parse::RecDescent::_tracefirst($text),
12478             q{valuechar},
12479             $tracelevel)
12480             if defined $::RD_TRACE;
12481            
12482              
12483 1 50       4 $_tok = ($_noactions) ? 0 : do {
12484 1         3 $return = chr(10);
12485             };
12486 1 50       4 unless (defined $_tok)
12487             {
12488 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12489             if defined $::RD_TRACE;
12490 0         0 last;
12491             }
12492 1 50       3 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12493             . $_tok . q{])},
12494             Parse::RecDescent::_tracefirst($text))
12495             if defined $::RD_TRACE;
12496 1         3 push @item, $_tok;
12497 1         2 $item{__ACTION1__}=$_tok;
12498            
12499              
12500              
12501 1 50       10 Parse::RecDescent::_trace(q{>>Matched production: ['\\n']<<},
12502             Parse::RecDescent::_tracefirst($text),
12503             q{valuechar},
12504             $tracelevel)
12505             if defined $::RD_TRACE;
12506 1         2 $_matched = 1;
12507 1         2 last;
12508             }
12509              
12510             splice
12511 2666 100       5828 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2641         5075  
12512            
12513 2666   66     8874 while (!$_matched && !$commit)
12514             {
12515            
12516 2641 50       5372 Parse::RecDescent::_trace(q{Trying production: ['\\r']},
12517             Parse::RecDescent::_tracefirst($_[1]),
12518             q{valuechar},
12519             $tracelevel)
12520             if defined $::RD_TRACE;
12521 2641         4607 my $thisprod = $thisrule->{"prods"}[9];
12522 2641         4448 $text = $_[1];
12523 2641         3098 my $_savetext;
12524 2641         5279 @item = (q{valuechar});
12525 2641         4999 %item = (__RULE__ => q{valuechar});
12526 2641         3091 my $repcount = 0;
12527              
12528              
12529 2641 50       4917 Parse::RecDescent::_trace(q{Trying terminal: ['\\r']},
12530             Parse::RecDescent::_tracefirst($text),
12531             q{valuechar},
12532             $tracelevel)
12533             if defined $::RD_TRACE;
12534 2641         3195 $lastsep = "";
12535 2641         7298 $expectation->is(q{})->at($text);
12536            
12537              
12538 2641 50 33     24774 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\r//)
  2641 50       22467  
12539             {
12540            
12541 2641         6953 $expectation->failed();
12542 2641 50       10802 Parse::RecDescent::_trace(qq{<>},
12543             Parse::RecDescent::_tracefirst($text))
12544             if defined $::RD_TRACE;
12545 2641         4734 last;
12546             }
12547 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12548             . $& . q{])},
12549             Parse::RecDescent::_tracefirst($text))
12550             if defined $::RD_TRACE;
12551 0         0 push @item, $item{__STRING1__}=$&;
12552            
12553              
12554 0 0       0 Parse::RecDescent::_trace(q{Trying action},
12555             Parse::RecDescent::_tracefirst($text),
12556             q{valuechar},
12557             $tracelevel)
12558             if defined $::RD_TRACE;
12559            
12560              
12561 0 0       0 $_tok = ($_noactions) ? 0 : do {
12562 0         0 $return = '';
12563             };
12564 0 0       0 unless (defined $_tok)
12565             {
12566 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12567             if defined $::RD_TRACE;
12568 0         0 last;
12569             }
12570 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12571             . $_tok . q{])},
12572             Parse::RecDescent::_tracefirst($text))
12573             if defined $::RD_TRACE;
12574 0         0 push @item, $_tok;
12575 0         0 $item{__ACTION1__}=$_tok;
12576            
12577              
12578              
12579 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['\\r']<<},
12580             Parse::RecDescent::_tracefirst($text),
12581             q{valuechar},
12582             $tracelevel)
12583             if defined $::RD_TRACE;
12584 0         0 $_matched = 1;
12585 0         0 last;
12586             }
12587              
12588             splice
12589 2666 100       5884 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2641         5008  
12590            
12591 2666   66     8384 while (!$_matched && !$commit)
12592             {
12593            
12594 2641 50       5289 Parse::RecDescent::_trace(q{Trying production: ['\\t']},
12595             Parse::RecDescent::_tracefirst($_[1]),
12596             q{valuechar},
12597             $tracelevel)
12598             if defined $::RD_TRACE;
12599 2641         4545 my $thisprod = $thisrule->{"prods"}[10];
12600 2641         4460 $text = $_[1];
12601 2641         2726 my $_savetext;
12602 2641         4662 @item = (q{valuechar});
12603 2641         8206 %item = (__RULE__ => q{valuechar});
12604 2641         2943 my $repcount = 0;
12605              
12606              
12607 2641 50       5243 Parse::RecDescent::_trace(q{Trying terminal: ['\\t']},
12608             Parse::RecDescent::_tracefirst($text),
12609             q{valuechar},
12610             $tracelevel)
12611             if defined $::RD_TRACE;
12612 2641         3753 $lastsep = "";
12613 2641         31465 $expectation->is(q{})->at($text);
12614            
12615              
12616 2641 50 33     27821 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\t//)
  2641 50       22708  
12617             {
12618            
12619 2641         7174 $expectation->failed();
12620 2641 50       11064 Parse::RecDescent::_trace(qq{<>},
12621             Parse::RecDescent::_tracefirst($text))
12622             if defined $::RD_TRACE;
12623 2641         4815 last;
12624             }
12625 0 0       0 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12626             . $& . q{])},
12627             Parse::RecDescent::_tracefirst($text))
12628             if defined $::RD_TRACE;
12629 0         0 push @item, $item{__STRING1__}=$&;
12630            
12631              
12632 0 0       0 Parse::RecDescent::_trace(q{Trying action},
12633             Parse::RecDescent::_tracefirst($text),
12634             q{valuechar},
12635             $tracelevel)
12636             if defined $::RD_TRACE;
12637            
12638              
12639 0 0       0 $_tok = ($_noactions) ? 0 : do {
12640 0         0 $return = "\t";
12641             };
12642 0 0       0 unless (defined $_tok)
12643             {
12644 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12645             if defined $::RD_TRACE;
12646 0         0 last;
12647             }
12648 0 0       0 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12649             . $_tok . q{])},
12650             Parse::RecDescent::_tracefirst($text))
12651             if defined $::RD_TRACE;
12652 0         0 push @item, $_tok;
12653 0         0 $item{__ACTION1__}=$_tok;
12654            
12655              
12656              
12657 0 0       0 Parse::RecDescent::_trace(q{>>Matched production: ['\\t']<<},
12658             Parse::RecDescent::_tracefirst($text),
12659             q{valuechar},
12660             $tracelevel)
12661             if defined $::RD_TRACE;
12662 0         0 $_matched = 1;
12663 0         0 last;
12664             }
12665              
12666             splice
12667 2666 100       6157 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2641         5300  
12668            
12669 2666   66     9364 while (!$_matched && !$commit)
12670             {
12671            
12672 2641 50       5025 Parse::RecDescent::_trace(q{Trying production: [' ']},
12673             Parse::RecDescent::_tracefirst($_[1]),
12674             q{valuechar},
12675             $tracelevel)
12676             if defined $::RD_TRACE;
12677 2641         4358 my $thisprod = $thisrule->{"prods"}[11];
12678 2641         4190 $text = $_[1];
12679 2641         2714 my $_savetext;
12680 2641         4520 @item = (q{valuechar});
12681 2641         5447 %item = (__RULE__ => q{valuechar});
12682 2641         2963 my $repcount = 0;
12683              
12684              
12685 2641 50       5259 Parse::RecDescent::_trace(q{Trying terminal: [' ']},
12686             Parse::RecDescent::_tracefirst($text),
12687             q{valuechar},
12688             $tracelevel)
12689             if defined $::RD_TRACE;
12690 2641         3292 $lastsep = "";
12691 2641         7248 $expectation->is(q{})->at($text);
12692            
12693              
12694 2641 50 66     23245 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\ //)
  2641 100       22178  
12695             {
12696            
12697 2640         7055 $expectation->failed();
12698 2640 50       11819 Parse::RecDescent::_trace(qq{<>},
12699             Parse::RecDescent::_tracefirst($text))
12700             if defined $::RD_TRACE;
12701 2640         4937 last;
12702             }
12703 1 50       5 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12704             . $& . q{])},
12705             Parse::RecDescent::_tracefirst($text))
12706             if defined $::RD_TRACE;
12707 1         4 push @item, $item{__STRING1__}=$&;
12708            
12709              
12710 1 50       5 Parse::RecDescent::_trace(q{Trying action},
12711             Parse::RecDescent::_tracefirst($text),
12712             q{valuechar},
12713             $tracelevel)
12714             if defined $::RD_TRACE;
12715            
12716              
12717 1 50       5 $_tok = ($_noactions) ? 0 : do {
12718 1         3 $return = chr(10);
12719             };
12720 1 50       16 unless (defined $_tok)
12721             {
12722 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12723             if defined $::RD_TRACE;
12724 0         0 last;
12725             }
12726 1 50       5 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12727             . $_tok . q{])},
12728             Parse::RecDescent::_tracefirst($text))
12729             if defined $::RD_TRACE;
12730 1         3 push @item, $_tok;
12731 1         3 $item{__ACTION1__}=$_tok;
12732            
12733              
12734              
12735 1 50       4 Parse::RecDescent::_trace(q{>>Matched production: [' ']<<},
12736             Parse::RecDescent::_tracefirst($text),
12737             q{valuechar},
12738             $tracelevel)
12739             if defined $::RD_TRACE;
12740 1         2 $_matched = 1;
12741 1         3 last;
12742             }
12743              
12744             splice
12745 2666 100       6362 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2640         5201  
12746            
12747 2666   66     8962 while (!$_matched && !$commit)
12748             {
12749            
12750 2640 50       4890 Parse::RecDescent::_trace(q{Trying production: ['\\ ']},
12751             Parse::RecDescent::_tracefirst($_[1]),
12752             q{valuechar},
12753             $tracelevel)
12754             if defined $::RD_TRACE;
12755 2640         4543 my $thisprod = $thisrule->{"prods"}[12];
12756 2640         4508 $text = $_[1];
12757 2640         2835 my $_savetext;
12758 2640         5043 @item = (q{valuechar});
12759 2640         5538 %item = (__RULE__ => q{valuechar});
12760 2640         3253 my $repcount = 0;
12761              
12762              
12763 2640 50       4993 Parse::RecDescent::_trace(q{Trying terminal: ['\\ ']},
12764             Parse::RecDescent::_tracefirst($text),
12765             q{valuechar},
12766             $tracelevel)
12767             if defined $::RD_TRACE;
12768 2640         3176 $lastsep = "";
12769 2640         7530 $expectation->is(q{})->at($text);
12770            
12771              
12772 2640 50 66     27148 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\ //)
  2640 100       22958  
12773             {
12774            
12775 2633         7438 $expectation->failed();
12776 2633 50       10987 Parse::RecDescent::_trace(qq{<>},
12777             Parse::RecDescent::_tracefirst($text))
12778             if defined $::RD_TRACE;
12779 2633         4613 last;
12780             }
12781 7 50       27 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12782             . $& . q{])},
12783             Parse::RecDescent::_tracefirst($text))
12784             if defined $::RD_TRACE;
12785 7         25 push @item, $item{__STRING1__}=$&;
12786            
12787              
12788 7 50       23 Parse::RecDescent::_trace(q{Trying action},
12789             Parse::RecDescent::_tracefirst($text),
12790             q{valuechar},
12791             $tracelevel)
12792             if defined $::RD_TRACE;
12793            
12794              
12795 7 50       26 $_tok = ($_noactions) ? 0 : do {
12796 7         20 $return = '';
12797             };
12798 7 50       21 unless (defined $_tok)
12799             {
12800 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12801             if defined $::RD_TRACE;
12802 0         0 last;
12803             }
12804 7 50       22 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12805             . $_tok . q{])},
12806             Parse::RecDescent::_tracefirst($text))
12807             if defined $::RD_TRACE;
12808 7         16 push @item, $_tok;
12809 7         18 $item{__ACTION1__}=$_tok;
12810            
12811              
12812              
12813 7 50       19 Parse::RecDescent::_trace(q{>>Matched production: ['\\ ']<<},
12814             Parse::RecDescent::_tracefirst($text),
12815             q{valuechar},
12816             $tracelevel)
12817             if defined $::RD_TRACE;
12818 7         12 $_matched = 1;
12819 7         23 last;
12820             }
12821              
12822             splice
12823 2666 100       6017 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2633         5170  
12824            
12825 2666   66     8451 while (!$_matched && !$commit)
12826             {
12827            
12828 2633 50       4767 Parse::RecDescent::_trace(q{Trying production: [/\\n/]},
12829             Parse::RecDescent::_tracefirst($_[1]),
12830             q{valuechar},
12831             $tracelevel)
12832             if defined $::RD_TRACE;
12833 2633         4350 my $thisprod = $thisrule->{"prods"}[13];
12834 2633         4456 $text = $_[1];
12835 2633         3033 my $_savetext;
12836 2633         4970 @item = (q{valuechar});
12837 2633         5148 %item = (__RULE__ => q{valuechar});
12838 2633         3300 my $repcount = 0;
12839              
12840              
12841 2633 50       5163 Parse::RecDescent::_trace(q{Trying terminal: [/\\n/]}, Parse::RecDescent::_tracefirst($text),
12842             q{valuechar},
12843             $tracelevel)
12844             if defined $::RD_TRACE;
12845 2633         3516 $lastsep = "";
12846 2633         6651 $expectation->is(q{})->at($text);
12847            
12848              
12849 2633 50 66     23133 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\n)//)
  2633 100       22496  
12850             {
12851            
12852 2632         7064 $expectation->failed();
12853 2632 50       10949 Parse::RecDescent::_trace(q{<>},
12854             Parse::RecDescent::_tracefirst($text))
12855             if defined $::RD_TRACE;
12856              
12857 2632         4706 last;
12858             }
12859 1 50       6 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12860             . $& . q{])},
12861             Parse::RecDescent::_tracefirst($text))
12862             if defined $::RD_TRACE;
12863 1         4 push @item, $item{__PATTERN1__}=$&;
12864            
12865              
12866 1 50       4 Parse::RecDescent::_trace(q{Trying action},
12867             Parse::RecDescent::_tracefirst($text),
12868             q{valuechar},
12869             $tracelevel)
12870             if defined $::RD_TRACE;
12871            
12872              
12873 1 50       4 $_tok = ($_noactions) ? 0 : do {
12874 1         4 $return = '';
12875             };
12876 1 50       4 unless (defined $_tok)
12877             {
12878 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12879             if defined $::RD_TRACE;
12880 0         0 last;
12881             }
12882 1 50       5 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12883             . $_tok . q{])},
12884             Parse::RecDescent::_tracefirst($text))
12885             if defined $::RD_TRACE;
12886 1         2 push @item, $_tok;
12887 1         2 $item{__ACTION1__}=$_tok;
12888            
12889              
12890              
12891 1 50       5 Parse::RecDescent::_trace(q{>>Matched production: [/\\n/]<<},
12892             Parse::RecDescent::_tracefirst($text),
12893             q{valuechar},
12894             $tracelevel)
12895             if defined $::RD_TRACE;
12896 1         12 $_matched = 1;
12897 1         3 last;
12898             }
12899              
12900             splice
12901 2666 100       6055 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2632         5487  
12902            
12903 2666   66     8785 while (!$_matched && !$commit)
12904             {
12905            
12906 2632 50       4874 Parse::RecDescent::_trace(q{Trying production: [/\\\\/ /\\n/]},
12907             Parse::RecDescent::_tracefirst($_[1]),
12908             q{valuechar},
12909             $tracelevel)
12910             if defined $::RD_TRACE;
12911 2632         4896 my $thisprod = $thisrule->{"prods"}[14];
12912 2632         4472 $text = $_[1];
12913 2632         2834 my $_savetext;
12914 2632         4744 @item = (q{valuechar});
12915 2632         5420 %item = (__RULE__ => q{valuechar});
12916 2632         3083 my $repcount = 0;
12917              
12918              
12919 2632 50       5383 Parse::RecDescent::_trace(q{Trying terminal: [/\\\\/]}, Parse::RecDescent::_tracefirst($text),
12920             q{valuechar},
12921             $tracelevel)
12922             if defined $::RD_TRACE;
12923 2632         3254 $lastsep = "";
12924 2632         7325 $expectation->is(q{})->at($text);
12925            
12926              
12927 2632 50 66     23083 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\\)//)
  2632 100       30380  
12928             {
12929            
12930 2522         7022 $expectation->failed();
12931 2522 50       10993 Parse::RecDescent::_trace(q{<>},
12932             Parse::RecDescent::_tracefirst($text))
12933             if defined $::RD_TRACE;
12934              
12935 2522         4386 last;
12936             }
12937 110 50       481 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12938             . $& . q{])},
12939             Parse::RecDescent::_tracefirst($text))
12940             if defined $::RD_TRACE;
12941 110         375 push @item, $item{__PATTERN1__}=$&;
12942            
12943              
12944 110 50       250 Parse::RecDescent::_trace(q{Trying terminal: [/\\n/]}, Parse::RecDescent::_tracefirst($text),
12945             q{valuechar},
12946             $tracelevel)
12947             if defined $::RD_TRACE;
12948 110         233 $lastsep = "";
12949 110         341 $expectation->is(q{/\\n/})->at($text);
12950            
12951              
12952 110 50 66     1295 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:\n)//)
  110 100       1528  
12953             {
12954            
12955 93         430 $expectation->failed();
12956 93 50       984 Parse::RecDescent::_trace(q{<>},
12957             Parse::RecDescent::_tracefirst($text))
12958             if defined $::RD_TRACE;
12959              
12960 93         590 last;
12961             }
12962 17 50       66 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
12963             . $& . q{])},
12964             Parse::RecDescent::_tracefirst($text))
12965             if defined $::RD_TRACE;
12966 17         66 push @item, $item{__PATTERN2__}=$&;
12967            
12968              
12969 17 50       53 Parse::RecDescent::_trace(q{Trying action},
12970             Parse::RecDescent::_tracefirst($text),
12971             q{valuechar},
12972             $tracelevel)
12973             if defined $::RD_TRACE;
12974            
12975              
12976 17 50       56 $_tok = ($_noactions) ? 0 : do {
12977 17         50 $return = ''
12978             };
12979 17 50       46 unless (defined $_tok)
12980             {
12981 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
12982             if defined $::RD_TRACE;
12983 0         0 last;
12984             }
12985 17 50       42 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
12986             . $_tok . q{])},
12987             Parse::RecDescent::_tracefirst($text))
12988             if defined $::RD_TRACE;
12989 17         34 push @item, $_tok;
12990 17         54 $item{__ACTION1__}=$_tok;
12991            
12992              
12993              
12994 17 50       41 Parse::RecDescent::_trace(q{>>Matched production: [/\\\\/ /\\n/]<<},
12995             Parse::RecDescent::_tracefirst($text),
12996             q{valuechar},
12997             $tracelevel)
12998             if defined $::RD_TRACE;
12999 17         32 $_matched = 1;
13000 17         38 last;
13001             }
13002              
13003             splice
13004 2666 100       6205 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2615         4913  
13005            
13006 2666   66     8824 while (!$_matched && !$commit)
13007             {
13008            
13009 2615 50       4720 Parse::RecDescent::_trace(q{Trying production: ['\\(']},
13010             Parse::RecDescent::_tracefirst($_[1]),
13011             q{valuechar},
13012             $tracelevel)
13013             if defined $::RD_TRACE;
13014 2615         4384 my $thisprod = $thisrule->{"prods"}[15];
13015 2615         22777 $text = $_[1];
13016 2615         3301 my $_savetext;
13017 2615         4559 @item = (q{valuechar});
13018 2615         5199 %item = (__RULE__ => q{valuechar});
13019 2615         11474 my $repcount = 0;
13020              
13021              
13022 2615 50       5129 Parse::RecDescent::_trace(q{Trying terminal: ['\\(']},
13023             Parse::RecDescent::_tracefirst($text),
13024             q{valuechar},
13025             $tracelevel)
13026             if defined $::RD_TRACE;
13027 2615         3015 $lastsep = "";
13028 2615         6793 $expectation->is(q{})->at($text);
13029            
13030              
13031 2615 50 66     23114 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\(//)
  2615 100       22448  
13032             {
13033            
13034 2605         6869 $expectation->failed();
13035 2605 50       10607 Parse::RecDescent::_trace(qq{<>},
13036             Parse::RecDescent::_tracefirst($text))
13037             if defined $::RD_TRACE;
13038 2605         4764 last;
13039             }
13040 10 50       38 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
13041             . $& . q{])},
13042             Parse::RecDescent::_tracefirst($text))
13043             if defined $::RD_TRACE;
13044 10         36 push @item, $item{__STRING1__}=$&;
13045            
13046              
13047 10 50       32 Parse::RecDescent::_trace(q{Trying action},
13048             Parse::RecDescent::_tracefirst($text),
13049             q{valuechar},
13050             $tracelevel)
13051             if defined $::RD_TRACE;
13052            
13053              
13054 10 50       29 $_tok = ($_noactions) ? 0 : do {
13055 10         30 $return = '(';
13056             };
13057 10 50       37 unless (defined $_tok)
13058             {
13059 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
13060             if defined $::RD_TRACE;
13061 0         0 last;
13062             }
13063 10 50       31 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
13064             . $_tok . q{])},
13065             Parse::RecDescent::_tracefirst($text))
13066             if defined $::RD_TRACE;
13067 10         19 push @item, $_tok;
13068 10         29 $item{__ACTION1__}=$_tok;
13069            
13070              
13071              
13072 10 50       31 Parse::RecDescent::_trace(q{>>Matched production: ['\\(']<<},
13073             Parse::RecDescent::_tracefirst($text),
13074             q{valuechar},
13075             $tracelevel)
13076             if defined $::RD_TRACE;
13077 10         16 $_matched = 1;
13078 10         20 last;
13079             }
13080              
13081             splice
13082 2666 100       6129 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2605         5383  
13083            
13084 2666   66     9006 while (!$_matched && !$commit)
13085             {
13086            
13087 2605 50       4792 Parse::RecDescent::_trace(q{Trying production: ['\\)']},
13088             Parse::RecDescent::_tracefirst($_[1]),
13089             q{valuechar},
13090             $tracelevel)
13091             if defined $::RD_TRACE;
13092 2605         4534 my $thisprod = $thisrule->{"prods"}[16];
13093 2605         4377 $text = $_[1];
13094 2605         2819 my $_savetext;
13095 2605         4497 @item = (q{valuechar});
13096 2605         4970 %item = (__RULE__ => q{valuechar});
13097 2605         3354 my $repcount = 0;
13098              
13099              
13100 2605 50       5003 Parse::RecDescent::_trace(q{Trying terminal: ['\\)']},
13101             Parse::RecDescent::_tracefirst($text),
13102             q{valuechar},
13103             $tracelevel)
13104             if defined $::RD_TRACE;
13105 2605         3172 $lastsep = "";
13106 2605         6698 $expectation->is(q{})->at($text);
13107            
13108              
13109 2605 50 66     23863 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A\\\)//)
  2605 100       22639  
13110             {
13111            
13112 2590         10208 $expectation->failed();
13113 2590 50       10915 Parse::RecDescent::_trace(qq{<>},
13114             Parse::RecDescent::_tracefirst($text))
13115             if defined $::RD_TRACE;
13116 2590         5674 last;
13117             }
13118 15 50       70 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
13119             . $& . q{])},
13120             Parse::RecDescent::_tracefirst($text))
13121             if defined $::RD_TRACE;
13122 15         57 push @item, $item{__STRING1__}=$&;
13123            
13124              
13125 15 50       1136 Parse::RecDescent::_trace(q{Trying action},
13126             Parse::RecDescent::_tracefirst($text),
13127             q{valuechar},
13128             $tracelevel)
13129             if defined $::RD_TRACE;
13130            
13131              
13132 15 50       49 $_tok = ($_noactions) ? 0 : do {
13133 15         42 $return = ')';
13134             };
13135 15 50       52 unless (defined $_tok)
13136             {
13137 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
13138             if defined $::RD_TRACE;
13139 0         0 last;
13140             }
13141 15 50       47 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
13142             . $_tok . q{])},
13143             Parse::RecDescent::_tracefirst($text))
13144             if defined $::RD_TRACE;
13145 15         29 push @item, $_tok;
13146 15         40 $item{__ACTION1__}=$_tok;
13147            
13148              
13149              
13150 15 50       43 Parse::RecDescent::_trace(q{>>Matched production: ['\\)']<<},
13151             Parse::RecDescent::_tracefirst($text),
13152             q{valuechar},
13153             $tracelevel)
13154             if defined $::RD_TRACE;
13155 15         26 $_matched = 1;
13156 15         35 last;
13157             }
13158              
13159             splice
13160 2666 100       6286 @{$thisparser->{deferred}}, $def_at unless $_matched;
  2590         4848  
13161            
13162 2666   66     8724 while (!$_matched && !$commit)
13163             {
13164            
13165 2590 50       4819 Parse::RecDescent::_trace(q{Trying production: [/[\\r\\t\\n\\\\ ]/]},
13166             Parse::RecDescent::_tracefirst($_[1]),
13167             q{valuechar},
13168             $tracelevel)
13169             if defined $::RD_TRACE;
13170 2590         4702 my $thisprod = $thisrule->{"prods"}[17];
13171 2590         4356 $text = $_[1];
13172 2590         2776 my $_savetext;
13173 2590         5027 @item = (q{valuechar});
13174 2590         5299 %item = (__RULE__ => q{valuechar});
13175 2590         3164 my $repcount = 0;
13176              
13177              
13178 2590 50       4835 Parse::RecDescent::_trace(q{Trying terminal: [/[\\r\\t\\n\\\\ ]/]}, Parse::RecDescent::_tracefirst($text),
13179             q{valuechar},
13180             $tracelevel)
13181             if defined $::RD_TRACE;
13182 2590         3005 $lastsep = "";
13183 2590         6575 $expectation->is(q{})->at($text);
13184            
13185              
13186 2590 50 66     24846 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:[\r\t\n\\ ])//)
  2590 100       27996  
13187             {
13188            
13189 1679         4556 $expectation->failed();
13190 1679 50       7393 Parse::RecDescent::_trace(q{<>},
13191             Parse::RecDescent::_tracefirst($text))
13192             if defined $::RD_TRACE;
13193              
13194 1679         2987 last;
13195             }
13196 911 50       2954 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
13197             . $& . q{])},
13198             Parse::RecDescent::_tracefirst($text))
13199             if defined $::RD_TRACE;
13200 911         3314 push @item, $item{__PATTERN1__}=$&;
13201            
13202              
13203 911 50       2003 Parse::RecDescent::_trace(q{Trying action},
13204             Parse::RecDescent::_tracefirst($text),
13205             q{valuechar},
13206             $tracelevel)
13207             if defined $::RD_TRACE;
13208            
13209              
13210 911 50       2100 $_tok = ($_noactions) ? 0 : do {
13211 911         2508 $return = $item[1];
13212             };
13213 911 50       2199 unless (defined $_tok)
13214             {
13215 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
13216             if defined $::RD_TRACE;
13217 0         0 last;
13218             }
13219 911 50       1719 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
13220             . $_tok . q{])},
13221             Parse::RecDescent::_tracefirst($text))
13222             if defined $::RD_TRACE;
13223 911         1511 push @item, $_tok;
13224 911         2658 $item{__ACTION1__}=$_tok;
13225            
13226              
13227              
13228 911 50       1807 Parse::RecDescent::_trace(q{>>Matched production: [/[\\r\\t\\n\\\\ ]/]<<},
13229             Parse::RecDescent::_tracefirst($text),
13230             q{valuechar},
13231             $tracelevel)
13232             if defined $::RD_TRACE;
13233 911         1197 $_matched = 1;
13234 911         1642 last;
13235             }
13236              
13237             splice
13238 2666 100       5667 @{$thisparser->{deferred}}, $def_at unless $_matched;
  1679         3209  
13239            
13240 2666   66     8006 while (!$_matched && !$commit)
13241             {
13242            
13243 1679 50       3292 Parse::RecDescent::_trace(q{Trying production: [/([^()\\r\\t\\n\\\\ ]+)/]},
13244             Parse::RecDescent::_tracefirst($_[1]),
13245             q{valuechar},
13246             $tracelevel)
13247             if defined $::RD_TRACE;
13248 1679         2958 my $thisprod = $thisrule->{"prods"}[18];
13249 1679         2822 $text = $_[1];
13250 1679         1867 my $_savetext;
13251 1679         3103 @item = (q{valuechar});
13252 1679         3306 %item = (__RULE__ => q{valuechar});
13253 1679         2055 my $repcount = 0;
13254              
13255              
13256 1679 50       3357 Parse::RecDescent::_trace(q{Trying terminal: [/([^()\\r\\t\\n\\\\ ]+)/]}, Parse::RecDescent::_tracefirst($text),
13257             q{valuechar},
13258             $tracelevel)
13259             if defined $::RD_TRACE;
13260 1679         2090 $lastsep = "";
13261 1679         9014 $expectation->is(q{})->at($text);
13262            
13263              
13264 1679 50 66     21167 unless ($text =~ s/\A($skip)/$lastsep=$1 and ""/e and $text =~ s/\A(?:([^()\r\t\n\\ ]+))//)
  1679 100       21423  
13265             {
13266            
13267 542         1747 $expectation->failed();
13268 542 50       2535 Parse::RecDescent::_trace(q{<>},
13269             Parse::RecDescent::_tracefirst($text))
13270             if defined $::RD_TRACE;
13271              
13272 542         1127 last;
13273             }
13274 1137 50       2905 Parse::RecDescent::_trace(q{>>Matched terminal<< (return value: [}
13275             . $& . q{])},
13276             Parse::RecDescent::_tracefirst($text))
13277             if defined $::RD_TRACE;
13278 1137         3924 push @item, $item{__PATTERN1__}=$&;
13279            
13280              
13281 1137 50       2439 Parse::RecDescent::_trace(q{Trying action},
13282             Parse::RecDescent::_tracefirst($text),
13283             q{valuechar},
13284             $tracelevel)
13285             if defined $::RD_TRACE;
13286            
13287              
13288 1137 50       2279 $_tok = ($_noactions) ? 0 : do {
13289 1137         2764 $return = $item[1];
13290             };
13291 1137 50       3669 unless (defined $_tok)
13292             {
13293 0 0       0 Parse::RecDescent::_trace(q{<> (return value: [undef])})
13294             if defined $::RD_TRACE;
13295 0         0 last;
13296             }
13297 1137 50       2456 Parse::RecDescent::_trace(q{>>Matched action<< (return value: [}
13298             . $_tok . q{])},
13299             Parse::RecDescent::_tracefirst($text))
13300             if defined $::RD_TRACE;
13301 1137         1848 push @item, $_tok;
13302 1137         3448 $item{__ACTION1__}=$_tok;
13303            
13304              
13305              
13306 1137 50       2247 Parse::RecDescent::_trace(q{>>Matched production: [/([^()\\r\\t\\n\\\\ ]+)/]<<},
13307             Parse::RecDescent::_tracefirst($text),
13308             q{valuechar},
13309             $tracelevel)
13310             if defined $::RD_TRACE;
13311 1137         1302 $_matched = 1;
13312 1137         2043 last;
13313             }
13314              
13315             splice
13316 2666 100       6274 @{$thisparser->{deferred}}, $def_at unless $_matched;
  542         1158  
13317            
13318 2666 50 66     8435 unless ( $_matched || defined($return) || defined($score) )
      66        
13319             {
13320 542         751 splice @{$thisparser->{deferred}}, $def_at;
  542         1031  
13321            
13322              
13323 542         998 $_[1] = $text; # NOT SURE THIS IS NEEDED
13324 542 50       1335 Parse::RecDescent::_trace(q{<>},
13325             Parse::RecDescent::_tracefirst($_[1]),
13326             q{valuechar},
13327             $tracelevel)
13328             if defined $::RD_TRACE;
13329 542         4567 return undef;
13330             }
13331 2124 50 33     4849 if (!defined($return) && defined($score))
13332             {
13333 0 0       0 Parse::RecDescent::_trace(q{>>Accepted scored production<<}, "",
13334             q{valuechar},
13335             $tracelevel)
13336             if defined $::RD_TRACE;
13337 0         0 $return = $score_return;
13338             }
13339 2124         2372 splice @{$thisparser->{errors}}, $err_at;
  2124         4297  
13340 2124 50       4669 $return = $item[$#item] unless defined $return;
13341 2124 50       4990 if (defined $::RD_TRACE)
13342             {
13343 0         0 Parse::RecDescent::_trace(q{>>Matched rule<< (return value: [} .
13344             $return . q{])}, "",
13345             q{valuechar},
13346             $tracelevel);
13347 0         0 Parse::RecDescent::_trace(q{(consumed: [} .
13348             Parse::RecDescent::_tracemax(substr($_[1],0,-length($text))) . q{])},
13349             Parse::RecDescent::_tracefirst($text),
13350             , q{valuechar},
13351             $tracelevel)
13352             }
13353 2124         4429 $_[1] = $text;
13354 2124         19628 return $return;
13355             }
13356             }
13357 25     25 0 48348 package PDF::FDF::Simple::Grammar; sub new { my $self = bless( {
13358             '_AUTOTREE' => undef,
13359             'localvars' => '',
13360             'startcode' => '',
13361             '_check' => {
13362             'thisoffset' => '',
13363             'itempos' => '',
13364             'prevoffset' => '',
13365             'prevline' => '',
13366             'prevcolumn' => '',
13367             'thiscolumn' => ''
13368             },
13369             'namespace' => 'Parse::RecDescent::PDF::FDF::Simple::Grammar',
13370             'deferrable' => 1,
13371             '_AUTOACTION' => undef,
13372             'rules' => {
13373             'stemparams' => bless( {
13374             'impcount' => 0,
13375             'calls' => [
13376             'stemparam',
13377             'stemparams'
13378             ],
13379             'changed' => 0,
13380             'opcount' => 0,
13381             'prods' => [
13382             bless( {
13383             'number' => '0',
13384             'strcount' => 0,
13385             'dircount' => 0,
13386             'uncommit' => undef,
13387             'error' => undef,
13388             'patcount' => 0,
13389             'actcount' => 0,
13390             'items' => [
13391             bless( {
13392             'subrule' => 'stemparam',
13393             'matchrule' => 0,
13394             'implicit' => undef,
13395             'argcode' => undef,
13396             'lookahead' => 0,
13397             'line' => 93
13398             }, 'Parse::RecDescent::Subrule' ),
13399             bless( {
13400             'subrule' => 'stemparams',
13401             'matchrule' => 0,
13402             'implicit' => undef,
13403             'argcode' => undef,
13404             'lookahead' => 0,
13405             'line' => 93
13406             }, 'Parse::RecDescent::Subrule' )
13407             ],
13408             'line' => undef
13409             }, 'Parse::RecDescent::Production' ),
13410             bless( {
13411             'number' => '1',
13412             'strcount' => 0,
13413             'dircount' => 0,
13414             'uncommit' => undef,
13415             'error' => undef,
13416             'patcount' => 0,
13417             'actcount' => 0,
13418             'items' => [],
13419             'line' => 94
13420             }, 'Parse::RecDescent::Production' )
13421             ],
13422             'name' => 'stemparams',
13423             'vars' => '',
13424             'line' => 93
13425             }, 'Parse::RecDescent::Rule' ),
13426             'objbody' => bless( {
13427             'impcount' => 0,
13428             'calls' => [
13429             'attributes',
13430             'fieldlist',
13431             'type',
13432             'objreference',
13433             'filename',
13434             'filter',
13435             'subtype',
13436             'params',
13437             'dl',
13438             'stream',
13439             'stemparams',
13440             'stemstream'
13441             ],
13442             'changed' => 0,
13443             'opcount' => 0,
13444             'prods' => [
13445             bless( {
13446             'number' => '0',
13447             'strcount' => 8,
13448             'dircount' => 0,
13449             'uncommit' => undef,
13450             'error' => undef,
13451             'patcount' => 0,
13452             'actcount' => 1,
13453             'items' => [
13454             bless( {
13455             'pattern' => '<<',
13456             'hashname' => '__STRING1__',
13457             'description' => '\'<<\'',
13458             'lookahead' => 0,
13459             'line' => 63
13460             }, 'Parse::RecDescent::Literal' ),
13461             bless( {
13462             'pattern' => '/FDF',
13463             'hashname' => '__STRING2__',
13464             'description' => '\'/FDF\'',
13465             'lookahead' => 0,
13466             'line' => 63
13467             }, 'Parse::RecDescent::Literal' ),
13468             bless( {
13469             'pattern' => '<<',
13470             'hashname' => '__STRING3__',
13471             'description' => '\'<<\'',
13472             'lookahead' => 0,
13473             'line' => 63
13474             }, 'Parse::RecDescent::Literal' ),
13475             bless( {
13476             'subrule' => 'attributes',
13477             'matchrule' => 0,
13478             'implicit' => undef,
13479             'argcode' => undef,
13480             'lookahead' => 0,
13481             'line' => 63
13482             }, 'Parse::RecDescent::Subrule' ),
13483             bless( {
13484             'pattern' => '/Fields',
13485             'hashname' => '__STRING4__',
13486             'description' => '\'/Fields\'',
13487             'lookahead' => 0,
13488             'line' => 63
13489             }, 'Parse::RecDescent::Literal' ),
13490             bless( {
13491             'pattern' => '[',
13492             'hashname' => '__STRING5__',
13493             'description' => '\'[\'',
13494             'lookahead' => 0,
13495             'line' => 63
13496             }, 'Parse::RecDescent::Literal' ),
13497             bless( {
13498             'subrule' => 'fieldlist',
13499             'matchrule' => 0,
13500             'implicit' => undef,
13501             'argcode' => undef,
13502             'lookahead' => 0,
13503             'line' => 63
13504             }, 'Parse::RecDescent::Subrule' ),
13505             bless( {
13506             'pattern' => ']',
13507             'hashname' => '__STRING6__',
13508             'description' => '\']\'',
13509             'lookahead' => 0,
13510             'line' => 63
13511             }, 'Parse::RecDescent::Literal' ),
13512             bless( {
13513             'subrule' => 'attributes',
13514             'matchrule' => 0,
13515             'implicit' => undef,
13516             'argcode' => undef,
13517             'lookahead' => 0,
13518             'line' => 63
13519             }, 'Parse::RecDescent::Subrule' ),
13520             bless( {
13521             'pattern' => '>>',
13522             'hashname' => '__STRING7__',
13523             'description' => '\'>>\'',
13524             'lookahead' => 0,
13525             'line' => 63
13526             }, 'Parse::RecDescent::Literal' ),
13527             bless( {
13528             'subrule' => 'type',
13529             'expected' => undef,
13530             'min' => 0,
13531             'argcode' => undef,
13532             'max' => 1,
13533             'matchrule' => 0,
13534             'repspec' => '?',
13535             'lookahead' => 0,
13536             'line' => 63
13537             }, 'Parse::RecDescent::Repetition' ),
13538             bless( {
13539             'pattern' => '>>',
13540             'hashname' => '__STRING8__',
13541             'description' => '\'>>\'',
13542             'lookahead' => 0,
13543             'line' => 63
13544             }, 'Parse::RecDescent::Literal' ),
13545             bless( {
13546             'hashname' => '__ACTION1__',
13547             'lookahead' => 0,
13548             'line' => 64,
13549             'code' => '{
13550             $return = $item{fieldlist};
13551             }'
13552             }, 'Parse::RecDescent::Action' )
13553             ],
13554             'line' => undef
13555             }, 'Parse::RecDescent::Production' ),
13556             bless( {
13557             'number' => '1',
13558             'strcount' => 2,
13559             'dircount' => 0,
13560             'uncommit' => undef,
13561             'error' => undef,
13562             'patcount' => 0,
13563             'actcount' => 1,
13564             'items' => [
13565             bless( {
13566             'pattern' => '[',
13567             'hashname' => '__STRING1__',
13568             'description' => '\'[\'',
13569             'lookahead' => 0,
13570             'line' => 67
13571             }, 'Parse::RecDescent::Literal' ),
13572             bless( {
13573             'subrule' => 'fieldlist',
13574             'matchrule' => 0,
13575             'implicit' => undef,
13576             'argcode' => undef,
13577             'lookahead' => 0,
13578             'line' => 67
13579             }, 'Parse::RecDescent::Subrule' ),
13580             bless( {
13581             'pattern' => ']',
13582             'hashname' => '__STRING2__',
13583             'description' => '\']\'',
13584             'lookahead' => 0,
13585             'line' => 67
13586             }, 'Parse::RecDescent::Literal' ),
13587             bless( {
13588             'hashname' => '__ACTION1__',
13589             'lookahead' => 0,
13590             'line' => 68,
13591             'code' => '{
13592             $return = $item{fieldlist};
13593             }'
13594             }, 'Parse::RecDescent::Action' )
13595             ],
13596             'line' => 67
13597             }, 'Parse::RecDescent::Production' ),
13598             bless( {
13599             'number' => '2',
13600             'strcount' => 6,
13601             'dircount' => 0,
13602             'uncommit' => undef,
13603             'error' => undef,
13604             'patcount' => 0,
13605             'actcount' => 1,
13606             'items' => [
13607             bless( {
13608             'pattern' => '<<',
13609             'hashname' => '__STRING1__',
13610             'description' => '\'<<\'',
13611             'lookahead' => 0,
13612             'line' => 71
13613             }, 'Parse::RecDescent::Literal' ),
13614             bless( {
13615             'pattern' => '/FDF',
13616             'hashname' => '__STRING2__',
13617             'description' => '\'/FDF\'',
13618             'lookahead' => 0,
13619             'line' => 71
13620             }, 'Parse::RecDescent::Literal' ),
13621             bless( {
13622             'pattern' => '<<',
13623             'hashname' => '__STRING3__',
13624             'description' => '\'<<\'',
13625             'lookahead' => 0,
13626             'line' => 71
13627             }, 'Parse::RecDescent::Literal' ),
13628             bless( {
13629             'subrule' => 'attributes',
13630             'matchrule' => 0,
13631             'implicit' => undef,
13632             'argcode' => undef,
13633             'lookahead' => 0,
13634             'line' => 71
13635             }, 'Parse::RecDescent::Subrule' ),
13636             bless( {
13637             'pattern' => '/Fields',
13638             'hashname' => '__STRING4__',
13639             'description' => '\'/Fields\'',
13640             'lookahead' => 0,
13641             'line' => 71
13642             }, 'Parse::RecDescent::Literal' ),
13643             bless( {
13644             'subrule' => 'objreference',
13645             'matchrule' => 0,
13646             'implicit' => undef,
13647             'argcode' => undef,
13648             'lookahead' => 0,
13649             'line' => 71
13650             }, 'Parse::RecDescent::Subrule' ),
13651             bless( {
13652             'subrule' => 'attributes',
13653             'matchrule' => 0,
13654             'implicit' => undef,
13655             'argcode' => undef,
13656             'lookahead' => 0,
13657             'line' => 71
13658             }, 'Parse::RecDescent::Subrule' ),
13659             bless( {
13660             'pattern' => '>>',
13661             'hashname' => '__STRING5__',
13662             'description' => '\'>>\'',
13663             'lookahead' => 0,
13664             'line' => 71
13665             }, 'Parse::RecDescent::Literal' ),
13666             bless( {
13667             'pattern' => '>>',
13668             'hashname' => '__STRING6__',
13669             'description' => '\'>>\'',
13670             'lookahead' => 0,
13671             'line' => 71
13672             }, 'Parse::RecDescent::Literal' ),
13673             bless( {
13674             'hashname' => '__ACTION1__',
13675             'lookahead' => 0,
13676             'line' => 72,
13677             'code' => '{
13678             $return = [];
13679             }'
13680             }, 'Parse::RecDescent::Action' )
13681             ],
13682             'line' => 71
13683             }, 'Parse::RecDescent::Production' ),
13684             bless( {
13685             'number' => '3',
13686             'strcount' => 9,
13687             'dircount' => 0,
13688             'uncommit' => undef,
13689             'error' => undef,
13690             'patcount' => 0,
13691             'actcount' => 1,
13692             'items' => [
13693             bless( {
13694             'pattern' => '<<',
13695             'hashname' => '__STRING1__',
13696             'description' => '\'<<\'',
13697             'lookahead' => 0,
13698             'line' => 75
13699             }, 'Parse::RecDescent::Literal' ),
13700             bless( {
13701             'pattern' => '/F',
13702             'hashname' => '__STRING2__',
13703             'description' => '\'/F\'',
13704             'lookahead' => 0,
13705             'line' => 75
13706             }, 'Parse::RecDescent::Literal' ),
13707             bless( {
13708             'subrule' => 'filename',
13709             'matchrule' => 0,
13710             'implicit' => undef,
13711             'argcode' => undef,
13712             'lookahead' => 0,
13713             'line' => 75
13714             }, 'Parse::RecDescent::Subrule' ),
13715             bless( {
13716             'pattern' => '/EF',
13717             'hashname' => '__STRING3__',
13718             'description' => '\'/EF\'',
13719             'lookahead' => 0,
13720             'line' => 75
13721             }, 'Parse::RecDescent::Literal' ),
13722             bless( {
13723             'pattern' => '<<',
13724             'hashname' => '__STRING4__',
13725             'description' => '\'<<\'',
13726             'lookahead' => 0,
13727             'line' => 75
13728             }, 'Parse::RecDescent::Literal' ),
13729             bless( {
13730             'pattern' => '/F',
13731             'hashname' => '__STRING5__',
13732             'description' => '\'/F\'',
13733             'lookahead' => 0,
13734             'line' => 75
13735             }, 'Parse::RecDescent::Literal' ),
13736             bless( {
13737             'subrule' => 'objreference',
13738             'matchrule' => 0,
13739             'implicit' => undef,
13740             'argcode' => undef,
13741             'lookahead' => 0,
13742             'line' => 75
13743             }, 'Parse::RecDescent::Subrule' ),
13744             bless( {
13745             'pattern' => '>>',
13746             'hashname' => '__STRING6__',
13747             'description' => '\'>>\'',
13748             'lookahead' => 0,
13749             'line' => 75
13750             }, 'Parse::RecDescent::Literal' ),
13751             bless( {
13752             'pattern' => '/Type',
13753             'hashname' => '__STRING7__',
13754             'description' => '\'/Type\'',
13755             'lookahead' => 0,
13756             'line' => 75
13757             }, 'Parse::RecDescent::Literal' ),
13758             bless( {
13759             'pattern' => '/Filespec',
13760             'hashname' => '__STRING8__',
13761             'description' => '\'/Filespec\'',
13762             'lookahead' => 0,
13763             'line' => 75
13764             }, 'Parse::RecDescent::Literal' ),
13765             bless( {
13766             'pattern' => '>>',
13767             'hashname' => '__STRING9__',
13768             'description' => '\'>>\'',
13769             'lookahead' => 0,
13770             'line' => 75
13771             }, 'Parse::RecDescent::Literal' ),
13772             bless( {
13773             'hashname' => '__ACTION1__',
13774             'lookahead' => 0,
13775             'line' => 76,
13776             'code' => '{
13777             $::strname = $item[3];
13778             $::strcontent = \'\'; # clear ready for next file
13779             $return = [];
13780             }'
13781             }, 'Parse::RecDescent::Action' )
13782             ],
13783             'line' => 75
13784             }, 'Parse::RecDescent::Production' ),
13785             bless( {
13786             'number' => '4',
13787             'strcount' => 2,
13788             'dircount' => 0,
13789             'uncommit' => undef,
13790             'error' => undef,
13791             'patcount' => 1,
13792             'actcount' => 1,
13793             'items' => [
13794             bless( {
13795             'pattern' => '<<',
13796             'hashname' => '__STRING1__',
13797             'description' => '\'<<\'',
13798             'lookahead' => 0,
13799             'line' => 81
13800             }, 'Parse::RecDescent::Literal' ),
13801             bless( {
13802             'pattern' => '/Length',
13803             'hashname' => '__STRING2__',
13804             'description' => '\'/Length\'',
13805             'lookahead' => 0,
13806             'line' => 81
13807             }, 'Parse::RecDescent::Literal' ),
13808             bless( {
13809             'pattern' => '\\d+',
13810             'hashname' => '__PATTERN1__',
13811             'description' => 'm#\\\\d+#',
13812             'lookahead' => 0,
13813             'rdelim' => '#',
13814             'line' => 81,
13815             'mod' => '',
13816             'ldelim' => '#'
13817             }, 'Parse::RecDescent::Token' ),
13818             bless( {
13819             'subrule' => 'filter',
13820             'expected' => undef,
13821             'min' => 0,
13822             'argcode' => undef,
13823             'max' => 1,
13824             'matchrule' => 0,
13825             'repspec' => '?',
13826             'lookahead' => 0,
13827             'line' => 81
13828             }, 'Parse::RecDescent::Repetition' ),
13829             bless( {
13830             'subrule' => 'subtype',
13831             'expected' => undef,
13832             'min' => 0,
13833             'argcode' => undef,
13834             'max' => 1,
13835             'matchrule' => 0,
13836             'repspec' => '?',
13837             'lookahead' => 0,
13838             'line' => 81
13839             }, 'Parse::RecDescent::Repetition' ),
13840             bless( {
13841             'subrule' => 'params',
13842             'expected' => undef,
13843             'min' => 0,
13844             'argcode' => undef,
13845             'max' => 1,
13846             'matchrule' => 0,
13847             'repspec' => '?',
13848             'lookahead' => 0,
13849             'line' => 81
13850             }, 'Parse::RecDescent::Repetition' ),
13851             bless( {
13852             'subrule' => 'dl',
13853             'expected' => undef,
13854             'min' => 0,
13855             'argcode' => undef,
13856             'max' => 1,
13857             'matchrule' => 0,
13858             'repspec' => '?',
13859             'lookahead' => 0,
13860             'line' => 81
13861             }, 'Parse::RecDescent::Repetition' ),
13862             bless( {
13863             'subrule' => 'stream',
13864             'matchrule' => 0,
13865             'implicit' => undef,
13866             'argcode' => undef,
13867             'lookahead' => 0,
13868             'line' => 81
13869             }, 'Parse::RecDescent::Subrule' ),
13870             bless( {
13871             'hashname' => '__ACTION1__',
13872             'lookahead' => 0,
13873             'line' => 82,
13874             'code' => '{
13875             #print "STRNAME = $::strname\\nSTRCONTENT = $::strcontent\\n";
13876             # RJH don\'t write until FlateDecode developed
13877             #&write_file($::strname,\\$::strcontent);
13878             $return = [];
13879             }'
13880             }, 'Parse::RecDescent::Action' )
13881             ],
13882             'line' => 81
13883             }, 'Parse::RecDescent::Production' ),
13884             bless( {
13885             'number' => '5',
13886             'strcount' => 2,
13887             'dircount' => 0,
13888             'uncommit' => undef,
13889             'error' => undef,
13890             'patcount' => 1,
13891             'actcount' => 1,
13892             'items' => [
13893             bless( {
13894             'pattern' => '<<',
13895             'hashname' => '__STRING1__',
13896             'description' => '\'<<\'',
13897             'lookahead' => 0,
13898             'line' => 88
13899             }, 'Parse::RecDescent::Literal' ),
13900             bless( {
13901             'pattern' => '/StemV',
13902             'hashname' => '__STRING2__',
13903             'description' => '\'/StemV\'',
13904             'lookahead' => 0,
13905             'line' => 88
13906             }, 'Parse::RecDescent::Literal' ),
13907             bless( {
13908             'pattern' => '\\d+',
13909             'hashname' => '__PATTERN1__',
13910             'description' => 'm#\\\\d+#',
13911             'lookahead' => 0,
13912             'rdelim' => '#',
13913             'line' => 88,
13914             'mod' => '',
13915             'ldelim' => '#'
13916             }, 'Parse::RecDescent::Token' ),
13917             bless( {
13918             'subrule' => 'stemparams',
13919             'matchrule' => 0,
13920             'implicit' => undef,
13921             'argcode' => undef,
13922             'lookahead' => 0,
13923             'line' => 88
13924             }, 'Parse::RecDescent::Subrule' ),
13925             bless( {
13926             'subrule' => 'stemstream',
13927             'matchrule' => 0,
13928             'implicit' => undef,
13929             'argcode' => undef,
13930             'lookahead' => 0,
13931             'line' => 88
13932             }, 'Parse::RecDescent::Subrule' ),
13933             bless( {
13934             'hashname' => '__ACTION1__',
13935             'lookahead' => 0,
13936             'line' => 89,
13937             'code' => '{
13938             $return = [];
13939             }'
13940             }, 'Parse::RecDescent::Action' )
13941             ],
13942             'line' => 88
13943             }, 'Parse::RecDescent::Production' )
13944             ],
13945             'name' => 'objbody',
13946             'vars' => '',
13947             'line' => 63
13948             }, 'Parse::RecDescent::Rule' ),
13949             'docstart' => bless( {
13950             'impcount' => 0,
13951             'calls' => [
13952             'garbage'
13953             ],
13954             'changed' => 0,
13955             'opcount' => 0,
13956             'prods' => [
13957             bless( {
13958             'number' => '0',
13959             'strcount' => 0,
13960             'dircount' => 0,
13961             'uncommit' => undef,
13962             'error' => undef,
13963             'patcount' => 1,
13964             'actcount' => 0,
13965             'items' => [
13966             bless( {
13967             'pattern' => '%FDF-[0-9]+\\.[0-9]+',
13968             'hashname' => '__PATTERN1__',
13969             'description' => '/%FDF-[0-9]+\\\\.[0-9]+/',
13970             'lookahead' => 0,
13971             'rdelim' => '/',
13972             'line' => 40,
13973             'mod' => '',
13974             'ldelim' => '/'
13975             }, 'Parse::RecDescent::Token' ),
13976             bless( {
13977             'subrule' => 'garbage',
13978             'matchrule' => 0,
13979             'implicit' => undef,
13980             'argcode' => undef,
13981             'lookahead' => 0,
13982             'line' => 40
13983             }, 'Parse::RecDescent::Subrule' )
13984             ],
13985             'line' => undef
13986             }, 'Parse::RecDescent::Production' ),
13987             bless( {
13988             'number' => '1',
13989             'strcount' => 0,
13990             'dircount' => 0,
13991             'uncommit' => undef,
13992             'error' => undef,
13993             'patcount' => 0,
13994             'actcount' => 0,
13995             'items' => [],
13996             'line' => 41
13997             }, 'Parse::RecDescent::Production' )
13998             ],
13999             'name' => 'docstart',
14000             'vars' => '',
14001             'line' => 40
14002             }, 'Parse::RecDescent::Rule' ),
14003             'feature' => bless( {
14004             'impcount' => 0,
14005             'calls' => [],
14006             'changed' => 0,
14007             'opcount' => 0,
14008             'prods' => [
14009             bless( {
14010             'number' => '0',
14011             'strcount' => 0,
14012             'dircount' => 0,
14013             'uncommit' => undef,
14014             'error' => undef,
14015             'patcount' => 1,
14016             'actcount' => 0,
14017             'items' => [
14018             bless( {
14019             'pattern' => '/[^\\s/>]*',
14020             'hashname' => '__PATTERN1__',
14021             'description' => 'm!/[^\\\\s/>]*!',
14022             'lookahead' => 0,
14023             'rdelim' => '!',
14024             'line' => 223,
14025             'mod' => '',
14026             'ldelim' => '!'
14027             }, 'Parse::RecDescent::Token' )
14028             ],
14029             'line' => undef
14030             }, 'Parse::RecDescent::Production' )
14031             ],
14032             'name' => 'feature',
14033             'vars' => '',
14034             'line' => 223
14035             }, 'Parse::RecDescent::Rule' ),
14036             'subtype' => bless( {
14037             'impcount' => 0,
14038             'calls' => [],
14039             'changed' => 0,
14040             'opcount' => 0,
14041             'prods' => [
14042             bless( {
14043             'number' => '0',
14044             'strcount' => 2,
14045             'dircount' => 0,
14046             'uncommit' => undef,
14047             'error' => undef,
14048             'patcount' => 0,
14049             'actcount' => 0,
14050             'items' => [
14051             bless( {
14052             'pattern' => '/Subtype',
14053             'hashname' => '__STRING1__',
14054             'description' => '\'/Subtype\'',
14055             'lookahead' => 0,
14056             'line' => 133
14057             }, 'Parse::RecDescent::Literal' ),
14058             bless( {
14059             'pattern' => '/application#2Fpdf',
14060             'hashname' => '__STRING2__',
14061             'description' => '\'/application#2Fpdf\'',
14062             'lookahead' => 0,
14063             'line' => 133
14064             }, 'Parse::RecDescent::Literal' )
14065             ],
14066             'line' => undef
14067             }, 'Parse::RecDescent::Production' )
14068             ],
14069             'name' => 'subtype',
14070             'vars' => '',
14071             'line' => 133
14072             }, 'Parse::RecDescent::Rule' ),
14073             'param' => bless( {
14074             'impcount' => 0,
14075             'calls' => [
14076             'paramname',
14077             'paramvalue'
14078             ],
14079             'changed' => 0,
14080             'opcount' => 0,
14081             'prods' => [
14082             bless( {
14083             'number' => '0',
14084             'strcount' => 0,
14085             'dircount' => 0,
14086             'uncommit' => undef,
14087             'error' => undef,
14088             'patcount' => 0,
14089             'actcount' => 0,
14090             'items' => [
14091             bless( {
14092             'subrule' => 'paramname',
14093             'matchrule' => 0,
14094             'implicit' => undef,
14095             'argcode' => undef,
14096             'lookahead' => 0,
14097             'line' => 140
14098             }, 'Parse::RecDescent::Subrule' ),
14099             bless( {
14100             'subrule' => 'paramvalue',
14101             'expected' => undef,
14102             'min' => 0,
14103             'argcode' => undef,
14104             'max' => 1,
14105             'matchrule' => 0,
14106             'repspec' => '?',
14107             'lookahead' => 0,
14108             'line' => 140
14109             }, 'Parse::RecDescent::Repetition' )
14110             ],
14111             'line' => undef
14112             }, 'Parse::RecDescent::Production' )
14113             ],
14114             'name' => 'param',
14115             'vars' => '',
14116             'line' => 138
14117             }, 'Parse::RecDescent::Rule' ),
14118             'startrule' => bless( {
14119             'impcount' => 0,
14120             'calls' => [
14121             'docstart',
14122             'objlist',
14123             'xref',
14124             'objreference'
14125             ],
14126             'changed' => 0,
14127             'opcount' => 0,
14128             'prods' => [
14129             bless( {
14130             'number' => '0',
14131             'strcount' => 4,
14132             'dircount' => 0,
14133             'uncommit' => undef,
14134             'error' => undef,
14135             'patcount' => 2,
14136             'actcount' => 1,
14137             'items' => [
14138             bless( {
14139             'subrule' => 'docstart',
14140             'matchrule' => 0,
14141             'implicit' => undef,
14142             'argcode' => undef,
14143             'lookahead' => 0,
14144             'line' => 30
14145             }, 'Parse::RecDescent::Subrule' ),
14146             bless( {
14147             'subrule' => 'objlist',
14148             'matchrule' => 0,
14149             'implicit' => undef,
14150             'argcode' => undef,
14151             'lookahead' => 0,
14152             'line' => 30
14153             }, 'Parse::RecDescent::Subrule' ),
14154             bless( {
14155             'subrule' => 'xref',
14156             'expected' => undef,
14157             'min' => 0,
14158             'argcode' => undef,
14159             'max' => 1,
14160             'matchrule' => 0,
14161             'repspec' => '?',
14162             'lookahead' => 0,
14163             'line' => 30
14164             }, 'Parse::RecDescent::Repetition' ),
14165             bless( {
14166             'pattern' => 'trailer',
14167             'hashname' => '__STRING1__',
14168             'description' => '\'trailer\'',
14169             'lookahead' => 0,
14170             'line' => 30
14171             }, 'Parse::RecDescent::Literal' ),
14172             bless( {
14173             'pattern' => '<<',
14174             'hashname' => '__STRING2__',
14175             'description' => '\'<<\'',
14176             'lookahead' => 0,
14177             'line' => 30
14178             }, 'Parse::RecDescent::Literal' ),
14179             bless( {
14180             'pattern' => '/Root',
14181             'hashname' => '__STRING3__',
14182             'description' => '\'/Root\'',
14183             'lookahead' => 0,
14184             'line' => 30
14185             }, 'Parse::RecDescent::Literal' ),
14186             bless( {
14187             'subrule' => 'objreference',
14188             'matchrule' => 0,
14189             'implicit' => undef,
14190             'argcode' => undef,
14191             'lookahead' => 0,
14192             'line' => 30
14193             }, 'Parse::RecDescent::Subrule' ),
14194             bless( {
14195             'pattern' => '[^>]*',
14196             'hashname' => '__PATTERN1__',
14197             'description' => '/[^>]*/',
14198             'lookahead' => 0,
14199             'rdelim' => '/',
14200             'line' => 30,
14201             'mod' => '',
14202             'ldelim' => '/'
14203             }, 'Parse::RecDescent::Token' ),
14204             bless( {
14205             'pattern' => '>>',
14206             'hashname' => '__STRING4__',
14207             'description' => '\'>>\'',
14208             'lookahead' => 0,
14209             'line' => 30
14210             }, 'Parse::RecDescent::Literal' ),
14211             bless( {
14212             'pattern' => '.*',
14213             'hashname' => '__PATTERN2__',
14214             'description' => '/.*/',
14215             'lookahead' => 0,
14216             'rdelim' => '/',
14217             'line' => 30,
14218             'mod' => '',
14219             'ldelim' => '/'
14220             }, 'Parse::RecDescent::Token' ),
14221             bless( {
14222             'hashname' => '__ACTION1__',
14223             'lookahead' => 0,
14224             'line' => 31,
14225             'code' => '{
14226             $PDF::FDF::Simple::deferred_result_FDF_OPTIONS = {};
14227             $return = $item{objlist};
14228             }'
14229             }, 'Parse::RecDescent::Action' )
14230             ],
14231             'line' => undef
14232             }, 'Parse::RecDescent::Production' )
14233             ],
14234             'name' => 'startrule',
14235             'vars' => '',
14236             'line' => 30
14237             }, 'Parse::RecDescent::Rule' ),
14238             'field' => bless( {
14239             'impcount' => 0,
14240             'calls' => [
14241             'fieldname',
14242             'fieldvalue'
14243             ],
14244             'changed' => 0,
14245             'opcount' => 0,
14246             'prods' => [
14247             bless( {
14248             'number' => '0',
14249             'strcount' => 2,
14250             'dircount' => 0,
14251             'uncommit' => undef,
14252             'error' => undef,
14253             'patcount' => 0,
14254             'actcount' => 1,
14255             'items' => [
14256             bless( {
14257             'pattern' => '<<',
14258             'hashname' => '__STRING1__',
14259             'description' => '\'<<\'',
14260             'lookahead' => 0,
14261             'line' => 191
14262             }, 'Parse::RecDescent::Literal' ),
14263             bless( {
14264             'subrule' => 'fieldname',
14265             'matchrule' => 0,
14266             'implicit' => undef,
14267             'argcode' => undef,
14268             'lookahead' => 0,
14269             'line' => 191
14270             }, 'Parse::RecDescent::Subrule' ),
14271             bless( {
14272             'subrule' => 'fieldvalue',
14273             'matchrule' => 0,
14274             'implicit' => undef,
14275             'argcode' => undef,
14276             'lookahead' => 0,
14277             'line' => 191
14278             }, 'Parse::RecDescent::Subrule' ),
14279             bless( {
14280             'pattern' => '>>',
14281             'hashname' => '__STRING2__',
14282             'description' => '\'>>\'',
14283             'lookahead' => 0,
14284             'line' => 191
14285             }, 'Parse::RecDescent::Literal' ),
14286             bless( {
14287             'hashname' => '__ACTION1__',
14288             'lookahead' => 0,
14289             'line' => 192,
14290             'code' => '{
14291             $return = { $item{fieldname} => $item{fieldvalue} };
14292             }'
14293             }, 'Parse::RecDescent::Action' )
14294             ],
14295             'line' => undef
14296             }, 'Parse::RecDescent::Production' ),
14297             bless( {
14298             'number' => '1',
14299             'strcount' => 2,
14300             'dircount' => 0,
14301             'uncommit' => undef,
14302             'error' => undef,
14303             'patcount' => 0,
14304             'actcount' => 1,
14305             'items' => [
14306             bless( {
14307             'pattern' => '<<',
14308             'hashname' => '__STRING1__',
14309             'description' => '\'<<\'',
14310             'lookahead' => 0,
14311             'line' => 195
14312             }, 'Parse::RecDescent::Literal' ),
14313             bless( {
14314             'subrule' => 'fieldvalue',
14315             'matchrule' => 0,
14316             'implicit' => undef,
14317             'argcode' => undef,
14318             'lookahead' => 0,
14319             'line' => 195
14320             }, 'Parse::RecDescent::Subrule' ),
14321             bless( {
14322             'subrule' => 'fieldname',
14323             'matchrule' => 0,
14324             'implicit' => undef,
14325             'argcode' => undef,
14326             'lookahead' => 0,
14327             'line' => 195
14328             }, 'Parse::RecDescent::Subrule' ),
14329             bless( {
14330             'pattern' => '>>',
14331             'hashname' => '__STRING2__',
14332             'description' => '\'>>\'',
14333             'lookahead' => 0,
14334             'line' => 195
14335             }, 'Parse::RecDescent::Literal' ),
14336             bless( {
14337             'hashname' => '__ACTION1__',
14338             'lookahead' => 0,
14339             'line' => 196,
14340             'code' => '{
14341             $return = { $item{fieldname} => $item{fieldvalue} };
14342             }'
14343             }, 'Parse::RecDescent::Action' )
14344             ],
14345             'line' => 195
14346             }, 'Parse::RecDescent::Production' ),
14347             bless( {
14348             'number' => '2',
14349             'strcount' => 2,
14350             'dircount' => 0,
14351             'uncommit' => undef,
14352             'error' => undef,
14353             'patcount' => 0,
14354             'actcount' => 1,
14355             'items' => [
14356             bless( {
14357             'pattern' => '<<',
14358             'hashname' => '__STRING1__',
14359             'description' => '\'<<\'',
14360             'lookahead' => 0,
14361             'line' => 199
14362             }, 'Parse::RecDescent::Literal' ),
14363             bless( {
14364             'subrule' => 'fieldname',
14365             'matchrule' => 0,
14366             'implicit' => undef,
14367             'argcode' => undef,
14368             'lookahead' => 0,
14369             'line' => 199
14370             }, 'Parse::RecDescent::Subrule' ),
14371             bless( {
14372             'pattern' => '>>',
14373             'hashname' => '__STRING2__',
14374             'description' => '\'>>\'',
14375             'lookahead' => 0,
14376             'line' => 199
14377             }, 'Parse::RecDescent::Literal' ),
14378             bless( {
14379             'hashname' => '__ACTION1__',
14380             'lookahead' => 0,
14381             'line' => 200,
14382             'code' => '{
14383             $return = { $item{fieldname} => undef };
14384             }'
14385             }, 'Parse::RecDescent::Action' )
14386             ],
14387             'line' => 199
14388             }, 'Parse::RecDescent::Production' )
14389             ],
14390             'name' => 'field',
14391             'vars' => '',
14392             'line' => 191
14393             }, 'Parse::RecDescent::Rule' ),
14394             'xref' => bless( {
14395             'impcount' => 0,
14396             'calls' => [
14397             'xrefentry'
14398             ],
14399             'changed' => 0,
14400             'opcount' => 0,
14401             'prods' => [
14402             bless( {
14403             'number' => '0',
14404             'strcount' => 1,
14405             'dircount' => 0,
14406             'uncommit' => undef,
14407             'error' => undef,
14408             'patcount' => 2,
14409             'actcount' => 0,
14410             'items' => [
14411             bless( {
14412             'pattern' => 'xref',
14413             'hashname' => '__STRING1__',
14414             'description' => '\'xref\'',
14415             'lookahead' => 0,
14416             'line' => 36
14417             }, 'Parse::RecDescent::Literal' ),
14418             bless( {
14419             'pattern' => '\\d+',
14420             'hashname' => '__PATTERN1__',
14421             'description' => '/\\\\d+/',
14422             'lookahead' => 0,
14423             'rdelim' => '/',
14424             'line' => 36,
14425             'mod' => '',
14426             'ldelim' => '/'
14427             }, 'Parse::RecDescent::Token' ),
14428             bless( {
14429             'pattern' => '\\d+',
14430             'hashname' => '__PATTERN2__',
14431             'description' => '/\\\\d+/',
14432             'lookahead' => 0,
14433             'rdelim' => '/',
14434             'line' => 36,
14435             'mod' => '',
14436             'ldelim' => '/'
14437             }, 'Parse::RecDescent::Token' ),
14438             bless( {
14439             'subrule' => 'xrefentry',
14440             'expected' => undef,
14441             'min' => 1,
14442             'argcode' => undef,
14443             'max' => 100000000,
14444             'matchrule' => 0,
14445             'repspec' => 's',
14446             'lookahead' => 0,
14447             'line' => 36
14448             }, 'Parse::RecDescent::Repetition' )
14449             ],
14450             'line' => undef
14451             }, 'Parse::RecDescent::Production' )
14452             ],
14453             'name' => 'xref',
14454             'vars' => '',
14455             'line' => 36
14456             }, 'Parse::RecDescent::Rule' ),
14457             'obj' => bless( {
14458             'impcount' => 0,
14459             'calls' => [
14460             'objbody'
14461             ],
14462             'changed' => 0,
14463             'opcount' => 0,
14464             'prods' => [
14465             bless( {
14466             'number' => '0',
14467             'strcount' => 2,
14468             'dircount' => 0,
14469             'uncommit' => undef,
14470             'error' => undef,
14471             'patcount' => 2,
14472             'actcount' => 1,
14473             'items' => [
14474             bless( {
14475             'pattern' => '\\d+',
14476             'hashname' => '__PATTERN1__',
14477             'description' => '/\\\\d+/',
14478             'lookahead' => 0,
14479             'rdelim' => '/',
14480             'line' => 58,
14481             'mod' => '',
14482             'ldelim' => '/'
14483             }, 'Parse::RecDescent::Token' ),
14484             bless( {
14485             'pattern' => '\\d+',
14486             'hashname' => '__PATTERN2__',
14487             'description' => '/\\\\d+/',
14488             'lookahead' => 0,
14489             'rdelim' => '/',
14490             'line' => 58,
14491             'mod' => '',
14492             'ldelim' => '/'
14493             }, 'Parse::RecDescent::Token' ),
14494             bless( {
14495             'pattern' => 'obj',
14496             'hashname' => '__STRING1__',
14497             'description' => '\'obj\'',
14498             'lookahead' => 0,
14499             'line' => 58
14500             }, 'Parse::RecDescent::Literal' ),
14501             bless( {
14502             'subrule' => 'objbody',
14503             'matchrule' => 0,
14504             'implicit' => undef,
14505             'argcode' => undef,
14506             'lookahead' => 0,
14507             'line' => 58
14508             }, 'Parse::RecDescent::Subrule' ),
14509             bless( {
14510             'pattern' => 'endobj',
14511             'hashname' => '__STRING2__',
14512             'description' => '\'endobj\'',
14513             'lookahead' => 0,
14514             'line' => 58
14515             }, 'Parse::RecDescent::Literal' ),
14516             bless( {
14517             'hashname' => '__ACTION1__',
14518             'lookahead' => 0,
14519             'line' => 59,
14520             'code' => '{
14521             $return = $item{objbody};
14522             }'
14523             }, 'Parse::RecDescent::Action' )
14524             ],
14525             'line' => undef
14526             }, 'Parse::RecDescent::Production' )
14527             ],
14528             'name' => 'obj',
14529             'vars' => '',
14530             'line' => 56
14531             }, 'Parse::RecDescent::Rule' ),
14532             'objlist' => bless( {
14533             'impcount' => 0,
14534             'calls' => [
14535             'obj',
14536             'objlist'
14537             ],
14538             'changed' => 0,
14539             'opcount' => 0,
14540             'prods' => [
14541             bless( {
14542             'number' => '0',
14543             'strcount' => 0,
14544             'dircount' => 0,
14545             'uncommit' => undef,
14546             'error' => undef,
14547             'patcount' => 0,
14548             'actcount' => 1,
14549             'items' => [
14550             bless( {
14551             'subrule' => 'obj',
14552             'matchrule' => 0,
14553             'implicit' => undef,
14554             'argcode' => undef,
14555             'lookahead' => 0,
14556             'line' => 46
14557             }, 'Parse::RecDescent::Subrule' ),
14558             bless( {
14559             'subrule' => 'objlist',
14560             'matchrule' => 0,
14561             'implicit' => undef,
14562             'argcode' => undef,
14563             'lookahead' => 0,
14564             'line' => 46
14565             }, 'Parse::RecDescent::Subrule' ),
14566             bless( {
14567             'hashname' => '__ACTION1__',
14568             'lookahead' => 0,
14569             'line' => 47,
14570             'code' => '{
14571             push ( @{$return}, $item{obj}, @{$item{objlist}} );
14572             }'
14573             }, 'Parse::RecDescent::Action' )
14574             ],
14575             'line' => undef
14576             }, 'Parse::RecDescent::Production' ),
14577             bless( {
14578             'number' => '1',
14579             'strcount' => 0,
14580             'dircount' => 0,
14581             'uncommit' => undef,
14582             'error' => undef,
14583             'patcount' => 0,
14584             'actcount' => 1,
14585             'items' => [
14586             bless( {
14587             'hashname' => '__ACTION1__',
14588             'lookahead' => 0,
14589             'line' => 50,
14590             'code' => '{
14591             $return = [];
14592             }'
14593             }, 'Parse::RecDescent::Action' )
14594             ],
14595             'line' => 50
14596             }, 'Parse::RecDescent::Production' )
14597             ],
14598             'name' => 'objlist',
14599             'vars' => '',
14600             'line' => 44
14601             }, 'Parse::RecDescent::Rule' ),
14602             'value' => bless( {
14603             'impcount' => 0,
14604             'calls' => [
14605             'valuechar',
14606             'value'
14607             ],
14608             'changed' => 0,
14609             'opcount' => 0,
14610             'prods' => [
14611             bless( {
14612             'number' => '0',
14613             'strcount' => 0,
14614             'dircount' => 0,
14615             'uncommit' => undef,
14616             'error' => undef,
14617             'patcount' => 0,
14618             'actcount' => 1,
14619             'items' => [
14620             bless( {
14621             'subrule' => 'valuechar',
14622             'matchrule' => 0,
14623             'implicit' => undef,
14624             'argcode' => undef,
14625             'lookahead' => 0,
14626             'line' => 239
14627             }, 'Parse::RecDescent::Subrule' ),
14628             bless( {
14629             'subrule' => 'value',
14630             'matchrule' => 0,
14631             'implicit' => undef,
14632             'argcode' => undef,
14633             'lookahead' => 0,
14634             'line' => 239
14635             }, 'Parse::RecDescent::Subrule' ),
14636             bless( {
14637             'hashname' => '__ACTION1__',
14638             'lookahead' => 0,
14639             'line' => 240,
14640             'code' => '{
14641             $return = $item{valuechar}.$item{value};
14642             }'
14643             }, 'Parse::RecDescent::Action' )
14644             ],
14645             'line' => undef
14646             }, 'Parse::RecDescent::Production' ),
14647             bless( {
14648             'number' => '1',
14649             'strcount' => 0,
14650             'dircount' => 0,
14651             'uncommit' => undef,
14652             'error' => undef,
14653             'patcount' => 0,
14654             'actcount' => 1,
14655             'items' => [
14656             bless( {
14657             'hashname' => '__ACTION1__',
14658             'lookahead' => 0,
14659             'line' => 243,
14660             'code' => '{
14661             $return = "";
14662             }'
14663             }, 'Parse::RecDescent::Action' )
14664             ],
14665             'line' => 243
14666             }, 'Parse::RecDescent::Production' )
14667             ],
14668             'name' => 'value',
14669             'vars' => '',
14670             'line' => 239
14671             }, 'Parse::RecDescent::Rule' ),
14672             'name' => bless( {
14673             'impcount' => 0,
14674             'calls' => [],
14675             'changed' => 0,
14676             'opcount' => 0,
14677             'prods' => [
14678             bless( {
14679             'number' => '0',
14680             'strcount' => 0,
14681             'dircount' => 0,
14682             'uncommit' => undef,
14683             'error' => undef,
14684             'patcount' => 1,
14685             'actcount' => 0,
14686             'items' => [
14687             bless( {
14688             'pattern' => '([^)][\\s]*)*',
14689             'hashname' => '__PATTERN1__',
14690             'description' => '/([^)][\\\\s]*)*/',
14691             'lookahead' => 0,
14692             'rdelim' => '/',
14693             'line' => 352,
14694             'mod' => '',
14695             'ldelim' => '/'
14696             }, 'Parse::RecDescent::Token' )
14697             ],
14698             'line' => undef
14699             }, 'Parse::RecDescent::Production' )
14700             ],
14701             'name' => 'name',
14702             'vars' => '',
14703             'line' => 350
14704             }, 'Parse::RecDescent::Rule' ),
14705             'stream' => bless( {
14706             'impcount' => 0,
14707             'calls' => [
14708             'streamcont'
14709             ],
14710             'changed' => 0,
14711             'opcount' => 0,
14712             'prods' => [
14713             bless( {
14714             'number' => '0',
14715             'strcount' => 2,
14716             'dircount' => 0,
14717             'uncommit' => undef,
14718             'error' => undef,
14719             'patcount' => 0,
14720             'actcount' => 1,
14721             'items' => [
14722             bless( {
14723             'pattern' => 'stream',
14724             'hashname' => '__STRING1__',
14725             'description' => '\'stream\'',
14726             'lookahead' => 0,
14727             'line' => 111
14728             }, 'Parse::RecDescent::Literal' ),
14729             bless( {
14730             'subrule' => 'streamcont',
14731             'matchrule' => 0,
14732             'implicit' => undef,
14733             'argcode' => undef,
14734             'lookahead' => 0,
14735             'line' => 111
14736             }, 'Parse::RecDescent::Subrule' ),
14737             bless( {
14738             'pattern' => 'endstream',
14739             'hashname' => '__STRING2__',
14740             'description' => '\'endstream\'',
14741             'lookahead' => 0,
14742             'line' => 111
14743             }, 'Parse::RecDescent::Literal' ),
14744             bless( {
14745             'hashname' => '__ACTION1__',
14746             'lookahead' => 0,
14747             'line' => 112,
14748             'code' => '{
14749             $return = $item[2];
14750             1;
14751             }'
14752             }, 'Parse::RecDescent::Action' )
14753             ],
14754             'line' => undef
14755             }, 'Parse::RecDescent::Production' )
14756             ],
14757             'name' => 'stream',
14758             'vars' => '',
14759             'line' => 110
14760             }, 'Parse::RecDescent::Rule' ),
14761             'kids' => bless( {
14762             'impcount' => 0,
14763             'calls' => [
14764             'fieldlist'
14765             ],
14766             'changed' => 0,
14767             'opcount' => 0,
14768             'prods' => [
14769             bless( {
14770             'number' => '0',
14771             'strcount' => 3,
14772             'dircount' => 0,
14773             'uncommit' => undef,
14774             'error' => undef,
14775             'patcount' => 0,
14776             'actcount' => 1,
14777             'items' => [
14778             bless( {
14779             'pattern' => '/Kids',
14780             'hashname' => '__STRING1__',
14781             'description' => '\'/Kids\'',
14782             'lookahead' => 0,
14783             'line' => 186
14784             }, 'Parse::RecDescent::Literal' ),
14785             bless( {
14786             'pattern' => '[',
14787             'hashname' => '__STRING2__',
14788             'description' => '\'[\'',
14789             'lookahead' => 0,
14790             'line' => 186
14791             }, 'Parse::RecDescent::Literal' ),
14792             bless( {
14793             'subrule' => 'fieldlist',
14794             'matchrule' => 0,
14795             'implicit' => undef,
14796             'argcode' => undef,
14797             'lookahead' => 0,
14798             'line' => 186
14799             }, 'Parse::RecDescent::Subrule' ),
14800             bless( {
14801             'pattern' => ']',
14802             'hashname' => '__STRING3__',
14803             'description' => '\']\'',
14804             'lookahead' => 0,
14805             'line' => 186
14806             }, 'Parse::RecDescent::Literal' ),
14807             bless( {
14808             'hashname' => '__ACTION1__',
14809             'lookahead' => 0,
14810             'line' => 187,
14811             'code' => '{
14812             $return = $item{fieldlist};
14813             }'
14814             }, 'Parse::RecDescent::Action' )
14815             ],
14816             'line' => undef
14817             }, 'Parse::RecDescent::Production' )
14818             ],
14819             'name' => 'kids',
14820             'vars' => '',
14821             'line' => 186
14822             }, 'Parse::RecDescent::Rule' ),
14823             'params' => bless( {
14824             'impcount' => 0,
14825             'calls' => [
14826             'paramlist'
14827             ],
14828             'changed' => 0,
14829             'opcount' => 0,
14830             'prods' => [
14831             bless( {
14832             'number' => '0',
14833             'strcount' => 3,
14834             'dircount' => 0,
14835             'uncommit' => undef,
14836             'error' => undef,
14837             'patcount' => 0,
14838             'actcount' => 0,
14839             'items' => [
14840             bless( {
14841             'pattern' => '/Params',
14842             'hashname' => '__STRING1__',
14843             'description' => '\'/Params\'',
14844             'lookahead' => 0,
14845             'line' => 135
14846             }, 'Parse::RecDescent::Literal' ),
14847             bless( {
14848             'pattern' => '<<',
14849             'hashname' => '__STRING2__',
14850             'description' => '\'<<\'',
14851             'lookahead' => 0,
14852             'line' => 135
14853             }, 'Parse::RecDescent::Literal' ),
14854             bless( {
14855             'subrule' => 'paramlist',
14856             'matchrule' => 0,
14857             'implicit' => undef,
14858             'argcode' => undef,
14859             'lookahead' => 0,
14860             'line' => 135
14861             }, 'Parse::RecDescent::Subrule' ),
14862             bless( {
14863             'pattern' => '>>',
14864             'hashname' => '__STRING3__',
14865             'description' => '\'>>\'',
14866             'lookahead' => 0,
14867             'line' => 135
14868             }, 'Parse::RecDescent::Literal' )
14869             ],
14870             'line' => undef
14871             }, 'Parse::RecDescent::Production' )
14872             ],
14873             'name' => 'params',
14874             'vars' => '',
14875             'line' => 135
14876             }, 'Parse::RecDescent::Rule' ),
14877             'type' => bless( {
14878             'impcount' => 0,
14879             'calls' => [],
14880             'changed' => 0,
14881             'opcount' => 0,
14882             'prods' => [
14883             bless( {
14884             'number' => '0',
14885             'strcount' => 0,
14886             'dircount' => 0,
14887             'uncommit' => undef,
14888             'error' => undef,
14889             'patcount' => 2,
14890             'actcount' => 0,
14891             'items' => [
14892             bless( {
14893             'pattern' => '\\/Type',
14894             'hashname' => '__PATTERN1__',
14895             'description' => '/\\\\/Type/',
14896             'lookahead' => 0,
14897             'rdelim' => '/',
14898             'line' => 55,
14899             'mod' => '',
14900             'ldelim' => '/'
14901             }, 'Parse::RecDescent::Token' ),
14902             bless( {
14903             'pattern' => '\\/(Filespec|Catalog)',
14904             'hashname' => '__PATTERN2__',
14905             'description' => '/\\\\/(Filespec|Catalog)/',
14906             'lookahead' => 0,
14907             'rdelim' => '/',
14908             'line' => 55,
14909             'mod' => '',
14910             'ldelim' => '/'
14911             }, 'Parse::RecDescent::Token' )
14912             ],
14913             'line' => undef
14914             }, 'Parse::RecDescent::Production' ),
14915             bless( {
14916             'number' => '1',
14917             'strcount' => 0,
14918             'dircount' => 0,
14919             'uncommit' => undef,
14920             'error' => undef,
14921             'patcount' => 0,
14922             'actcount' => 0,
14923             'items' => [],
14924             'line' => 56
14925             }, 'Parse::RecDescent::Production' )
14926             ],
14927             'name' => 'type',
14928             'vars' => '',
14929             'line' => 55
14930             }, 'Parse::RecDescent::Rule' ),
14931             'stemparam' => bless( {
14932             'impcount' => 0,
14933             'calls' => [],
14934             'changed' => 0,
14935             'opcount' => 0,
14936             'prods' => [
14937             bless( {
14938             'number' => '0',
14939             'strcount' => 1,
14940             'dircount' => 0,
14941             'uncommit' => undef,
14942             'error' => undef,
14943             'patcount' => 1,
14944             'actcount' => 0,
14945             'items' => [
14946             bless( {
14947             'pattern' => '/',
14948             'hashname' => '__STRING1__',
14949             'description' => '\'/\'',
14950             'lookahead' => 0,
14951             'line' => 96
14952             }, 'Parse::RecDescent::Literal' ),
14953             bless( {
14954             'pattern' => '\\w+',
14955             'hashname' => '__PATTERN1__',
14956             'description' => 'm#\\\\w+#',
14957             'lookahead' => 0,
14958             'rdelim' => '#',
14959             'line' => 96,
14960             'mod' => '',
14961             'ldelim' => '#'
14962             }, 'Parse::RecDescent::Token' )
14963             ],
14964             'line' => undef
14965             }, 'Parse::RecDescent::Production' )
14966             ],
14967             'name' => 'stemparam',
14968             'vars' => '',
14969             'line' => 94
14970             }, 'Parse::RecDescent::Rule' ),
14971             'attributes' => bless( {
14972             'impcount' => 0,
14973             'calls' => [
14974             'value',
14975             'attributes',
14976             'idnum'
14977             ],
14978             'changed' => 0,
14979             'opcount' => 0,
14980             'prods' => [
14981             bless( {
14982             'number' => '0',
14983             'strcount' => 3,
14984             'dircount' => 3,
14985             'uncommit' => undef,
14986             'error' => undef,
14987             'patcount' => 0,
14988             'actcount' => 1,
14989             'items' => [
14990             bless( {
14991             'pattern' => '/F',
14992             'hashname' => '__STRING1__',
14993             'description' => '\'/F\'',
14994             'lookahead' => 0,
14995             'line' => 339
14996             }, 'Parse::RecDescent::Literal' ),
14997             bless( {
14998             'pattern' => '(',
14999             'hashname' => '__STRING2__',
15000             'description' => '\'(\'',
15001             'lookahead' => 0,
15002             'line' => 339
15003             }, 'Parse::RecDescent::Literal' ),
15004             bless( {
15005             'hashname' => '__DIRECTIVE1__',
15006             'name' => '',
15007             'lookahead' => 0,
15008             'line' => 339,
15009             'code' => 'my $oldskip = $skip; $skip=""; $oldskip'
15010             }, 'Parse::RecDescent::Directive' ),
15011             bless( {
15012             'subrule' => 'value',
15013             'matchrule' => 0,
15014             'implicit' => undef,
15015             'argcode' => undef,
15016             'lookahead' => 0,
15017             'line' => 339
15018             }, 'Parse::RecDescent::Subrule' ),
15019             bless( {
15020             'hashname' => '__DIRECTIVE2__',
15021             'name' => '',
15022             'lookahead' => 0,
15023             'line' => 339,
15024             'code' => 'my $oldskip = $skip; $skip=$item[3]; $oldskip'
15025             }, 'Parse::RecDescent::Directive' ),
15026             bless( {
15027             'pattern' => ')',
15028             'hashname' => '__STRING3__',
15029             'description' => '\')\'',
15030             'lookahead' => 0,
15031             'line' => 339
15032             }, 'Parse::RecDescent::Literal' ),
15033             bless( {
15034             'subrule' => 'attributes',
15035             'matchrule' => 0,
15036             'implicit' => undef,
15037             'argcode' => undef,
15038             'lookahead' => 0,
15039             'line' => 339
15040             }, 'Parse::RecDescent::Subrule' ),
15041             bless( {
15042             'hashname' => '__DIRECTIVE3__',
15043             'name' => '{F} = $item[4]; }>',
15044             'lookahead' => 0,
15045             'line' => 340,
15046             'code' => 'push @{$thisparser->{deferred}}, sub { $PDF::FDF::Simple::deferred_result_FDF_OPTIONS->{F} = $item[4]; };'
15047             }, 'Parse::RecDescent::Directive' ),
15048             bless( {
15049             'hashname' => '__ACTION1__',
15050             'lookahead' => 0,
15051             'line' => 341,
15052             'code' => '{
15053             $return = $item{value};
15054             }'
15055             }, 'Parse::RecDescent::Action' )
15056             ],
15057             'line' => undef
15058             }, 'Parse::RecDescent::Production' ),
15059             bless( {
15060             'number' => '1',
15061             'strcount' => 3,
15062             'dircount' => 3,
15063             'uncommit' => undef,
15064             'error' => undef,
15065             'patcount' => 0,
15066             'actcount' => 1,
15067             'items' => [
15068             bless( {
15069             'pattern' => '/UF',
15070             'hashname' => '__STRING1__',
15071             'description' => '\'/UF\'',
15072             'lookahead' => 0,
15073             'line' => 344
15074             }, 'Parse::RecDescent::Literal' ),
15075             bless( {
15076             'pattern' => '(',
15077             'hashname' => '__STRING2__',
15078             'description' => '\'(\'',
15079             'lookahead' => 0,
15080             'line' => 344
15081             }, 'Parse::RecDescent::Literal' ),
15082             bless( {
15083             'hashname' => '__DIRECTIVE1__',
15084             'name' => '',
15085             'lookahead' => 0,
15086             'line' => 344,
15087             'code' => 'my $oldskip = $skip; $skip=""; $oldskip'
15088             }, 'Parse::RecDescent::Directive' ),
15089             bless( {
15090             'subrule' => 'value',
15091             'matchrule' => 0,
15092             'implicit' => undef,
15093             'argcode' => undef,
15094             'lookahead' => 0,
15095             'line' => 344
15096             }, 'Parse::RecDescent::Subrule' ),
15097             bless( {
15098             'hashname' => '__DIRECTIVE2__',
15099             'name' => '',
15100             'lookahead' => 0,
15101             'line' => 344,
15102             'code' => 'my $oldskip = $skip; $skip=$item[3]; $oldskip'
15103             }, 'Parse::RecDescent::Directive' ),
15104             bless( {
15105             'pattern' => ')',
15106             'hashname' => '__STRING3__',
15107             'description' => '\')\'',
15108             'lookahead' => 0,
15109             'line' => 344
15110             }, 'Parse::RecDescent::Literal' ),
15111             bless( {
15112             'subrule' => 'attributes',
15113             'matchrule' => 0,
15114             'implicit' => undef,
15115             'argcode' => undef,
15116             'lookahead' => 0,
15117             'line' => 344
15118             }, 'Parse::RecDescent::Subrule' ),
15119             bless( {
15120             'hashname' => '__DIRECTIVE3__',
15121             'name' => '{UF} = $item[4]; }>',
15122             'lookahead' => 0,
15123             'line' => 345,
15124             'code' => 'push @{$thisparser->{deferred}}, sub { $PDF::FDF::Simple::deferred_result_FDF_OPTIONS->{UF} = $item[4]; };'
15125             }, 'Parse::RecDescent::Directive' ),
15126             bless( {
15127             'hashname' => '__ACTION1__',
15128             'lookahead' => 0,
15129             'line' => 346,
15130             'code' => '{
15131             $return = $item{value};
15132             }'
15133             }, 'Parse::RecDescent::Action' )
15134             ],
15135             'line' => 344
15136             }, 'Parse::RecDescent::Production' ),
15137             bless( {
15138             'number' => '2',
15139             'strcount' => 3,
15140             'dircount' => 0,
15141             'uncommit' => undef,
15142             'error' => undef,
15143             'patcount' => 0,
15144             'actcount' => 0,
15145             'items' => [
15146             bless( {
15147             'pattern' => '/ID',
15148             'hashname' => '__STRING1__',
15149             'description' => '\'/ID\'',
15150             'lookahead' => 0,
15151             'line' => 349
15152             }, 'Parse::RecDescent::Literal' ),
15153             bless( {
15154             'pattern' => '[',
15155             'hashname' => '__STRING2__',
15156             'description' => '\'[\'',
15157             'lookahead' => 0,
15158             'line' => 349
15159             }, 'Parse::RecDescent::Literal' ),
15160             bless( {
15161             'subrule' => 'idnum',
15162             'expected' => undef,
15163             'min' => 0,
15164             'argcode' => undef,
15165             'max' => 100000000,
15166             'matchrule' => 0,
15167             'repspec' => 's?',
15168             'lookahead' => 0,
15169             'line' => 349
15170             }, 'Parse::RecDescent::Repetition' ),
15171             bless( {
15172             'pattern' => ']',
15173             'hashname' => '__STRING3__',
15174             'description' => '\']\'',
15175             'lookahead' => 0,
15176             'line' => 349
15177             }, 'Parse::RecDescent::Literal' ),
15178             bless( {
15179             'subrule' => 'attributes',
15180             'matchrule' => 0,
15181             'implicit' => undef,
15182             'argcode' => undef,
15183             'lookahead' => 0,
15184             'line' => 349
15185             }, 'Parse::RecDescent::Subrule' )
15186             ],
15187             'line' => 349
15188             }, 'Parse::RecDescent::Production' ),
15189             bless( {
15190             'number' => '3',
15191             'strcount' => 0,
15192             'dircount' => 0,
15193             'uncommit' => undef,
15194             'error' => undef,
15195             'patcount' => 0,
15196             'actcount' => 0,
15197             'items' => [],
15198             'line' => 350
15199             }, 'Parse::RecDescent::Production' )
15200             ],
15201             'name' => 'attributes',
15202             'vars' => '',
15203             'line' => 339
15204             }, 'Parse::RecDescent::Rule' ),
15205             'dl' => bless( {
15206             'impcount' => 0,
15207             'calls' => [],
15208             'changed' => 0,
15209             'opcount' => 0,
15210             'prods' => [
15211             bless( {
15212             'number' => '0',
15213             'strcount' => 2,
15214             'dircount' => 0,
15215             'uncommit' => undef,
15216             'error' => undef,
15217             'patcount' => 1,
15218             'actcount' => 0,
15219             'items' => [
15220             bless( {
15221             'pattern' => '/DL',
15222             'hashname' => '__STRING1__',
15223             'description' => '\'/DL\'',
15224             'lookahead' => 0,
15225             'line' => 103
15226             }, 'Parse::RecDescent::Literal' ),
15227             bless( {
15228             'pattern' => '\\d+',
15229             'hashname' => '__PATTERN1__',
15230             'description' => 'm#\\\\d+#',
15231             'lookahead' => 0,
15232             'rdelim' => '#',
15233             'line' => 103,
15234             'mod' => '',
15235             'ldelim' => '#'
15236             }, 'Parse::RecDescent::Token' ),
15237             bless( {
15238             'pattern' => '>>',
15239             'hashname' => '__STRING2__',
15240             'description' => '\'>>\'',
15241             'lookahead' => 0,
15242             'line' => 103
15243             }, 'Parse::RecDescent::Literal' )
15244             ],
15245             'line' => undef
15246             }, 'Parse::RecDescent::Production' )
15247             ],
15248             'name' => 'dl',
15249             'vars' => '',
15250             'line' => 103
15251             }, 'Parse::RecDescent::Rule' ),
15252             'paramlist' => bless( {
15253             'impcount' => 0,
15254             'calls' => [
15255             'param',
15256             'paramlist'
15257             ],
15258             'changed' => 0,
15259             'opcount' => 0,
15260             'prods' => [
15261             bless( {
15262             'number' => '0',
15263             'strcount' => 0,
15264             'dircount' => 0,
15265             'uncommit' => undef,
15266             'error' => undef,
15267             'patcount' => 0,
15268             'actcount' => 0,
15269             'items' => [
15270             bless( {
15271             'subrule' => 'param',
15272             'matchrule' => 0,
15273             'implicit' => undef,
15274             'argcode' => undef,
15275             'lookahead' => 0,
15276             'line' => 137
15277             }, 'Parse::RecDescent::Subrule' ),
15278             bless( {
15279             'subrule' => 'paramlist',
15280             'matchrule' => 0,
15281             'implicit' => undef,
15282             'argcode' => undef,
15283             'lookahead' => 0,
15284             'line' => 137
15285             }, 'Parse::RecDescent::Subrule' )
15286             ],
15287             'line' => undef
15288             }, 'Parse::RecDescent::Production' ),
15289             bless( {
15290             'number' => '1',
15291             'strcount' => 0,
15292             'dircount' => 0,
15293             'uncommit' => undef,
15294             'error' => undef,
15295             'patcount' => 0,
15296             'actcount' => 0,
15297             'items' => [],
15298             'line' => 138
15299             }, 'Parse::RecDescent::Production' )
15300             ],
15301             'name' => 'paramlist',
15302             'vars' => '',
15303             'line' => 137
15304             }, 'Parse::RecDescent::Rule' ),
15305             'streamline' => bless( {
15306             'impcount' => 0,
15307             'calls' => [],
15308             'changed' => 0,
15309             'opcount' => 0,
15310             'prods' => [
15311             bless( {
15312             'number' => '0',
15313             'strcount' => 1,
15314             'dircount' => 0,
15315             'uncommit' => undef,
15316             'error' => undef,
15317             'patcount' => 1,
15318             'actcount' => 1,
15319             'items' => [
15320             bless( {
15321             'pattern' => 'endstream',
15322             'hashname' => '__STRING1__',
15323             'description' => '\'endstream\'',
15324             'lookahead' => -1,
15325             'line' => 123
15326             }, 'Parse::RecDescent::Literal' ),
15327             bless( {
15328             'pattern' => '.*',
15329             'hashname' => '__PATTERN1__',
15330             'description' => 'm#.*#',
15331             'lookahead' => 0,
15332             'rdelim' => '#',
15333             'line' => 123,
15334             'mod' => '',
15335             'ldelim' => '#'
15336             }, 'Parse::RecDescent::Token' ),
15337             bless( {
15338             'hashname' => '__ACTION1__',
15339             'lookahead' => 0,
15340             'line' => 124,
15341             'code' => '{
15342             $::strcontent .= $item[2];
15343             $return = $item[2];
15344             }'
15345             }, 'Parse::RecDescent::Action' )
15346             ],
15347             'line' => undef
15348             }, 'Parse::RecDescent::Production' )
15349             ],
15350             'name' => 'streamline',
15351             'vars' => '',
15352             'line' => 121
15353             }, 'Parse::RecDescent::Rule' ),
15354             'fieldname' => bless( {
15355             'impcount' => 0,
15356             'calls' => [
15357             'name'
15358             ],
15359             'changed' => 0,
15360             'opcount' => 0,
15361             'prods' => [
15362             bless( {
15363             'number' => '0',
15364             'strcount' => 3,
15365             'dircount' => 0,
15366             'uncommit' => undef,
15367             'error' => undef,
15368             'patcount' => 0,
15369             'actcount' => 1,
15370             'items' => [
15371             bless( {
15372             'pattern' => '/T',
15373             'hashname' => '__STRING1__',
15374             'description' => '\'/T\'',
15375             'lookahead' => 0,
15376             'line' => 225
15377             }, 'Parse::RecDescent::Literal' ),
15378             bless( {
15379             'pattern' => '(',
15380             'hashname' => '__STRING2__',
15381             'description' => '\'(\'',
15382             'lookahead' => 0,
15383             'line' => 225
15384             }, 'Parse::RecDescent::Literal' ),
15385             bless( {
15386             'subrule' => 'name',
15387             'matchrule' => 0,
15388             'implicit' => undef,
15389             'argcode' => undef,
15390             'lookahead' => 0,
15391             'line' => 225
15392             }, 'Parse::RecDescent::Subrule' ),
15393             bless( {
15394             'pattern' => ')',
15395             'hashname' => '__STRING3__',
15396             'description' => '\')\'',
15397             'lookahead' => 0,
15398             'line' => 225
15399             }, 'Parse::RecDescent::Literal' ),
15400             bless( {
15401             'hashname' => '__ACTION1__',
15402             'lookahead' => 0,
15403             'line' => 226,
15404             'code' => '{
15405             $return = $item{name};
15406             $return =~ s/\\\\(\\d{3})/sprintf ("%c", oct($1))/eg; # handle octal
15407             $return =~ s/\\#([0-9A-F]{2})/sprintf ("%c", hex($1))/eg; # handle hex
15408             }'
15409             }, 'Parse::RecDescent::Action' )
15410             ],
15411             'line' => undef
15412             }, 'Parse::RecDescent::Production' )
15413             ],
15414             'name' => 'fieldname',
15415             'vars' => '',
15416             'line' => 225
15417             }, 'Parse::RecDescent::Rule' ),
15418             'xrefentry' => bless( {
15419             'impcount' => 0,
15420             'calls' => [],
15421             'changed' => 0,
15422             'opcount' => 0,
15423             'prods' => [
15424             bless( {
15425             'number' => '0',
15426             'strcount' => 0,
15427             'dircount' => 0,
15428             'uncommit' => undef,
15429             'error' => undef,
15430             'patcount' => 3,
15431             'actcount' => 0,
15432             'items' => [
15433             bless( {
15434             'pattern' => '\\d+',
15435             'hashname' => '__PATTERN1__',
15436             'description' => '/\\\\d+/',
15437             'lookahead' => 0,
15438             'rdelim' => '/',
15439             'line' => 38,
15440             'mod' => '',
15441             'ldelim' => '/'
15442             }, 'Parse::RecDescent::Token' ),
15443             bless( {
15444             'pattern' => '\\d+',
15445             'hashname' => '__PATTERN2__',
15446             'description' => '/\\\\d+/',
15447             'lookahead' => 0,
15448             'rdelim' => '/',
15449             'line' => 38,
15450             'mod' => '',
15451             'ldelim' => '/'
15452             }, 'Parse::RecDescent::Token' ),
15453             bless( {
15454             'pattern' => '[fn]',
15455             'hashname' => '__PATTERN3__',
15456             'description' => '/[fn]/',
15457             'lookahead' => 0,
15458             'rdelim' => '/',
15459             'line' => 38,
15460             'mod' => '',
15461             'ldelim' => '/'
15462             }, 'Parse::RecDescent::Token' )
15463             ],
15464             'line' => undef
15465             }, 'Parse::RecDescent::Production' )
15466             ],
15467             'name' => 'xrefentry',
15468             'vars' => '',
15469             'line' => 38
15470             }, 'Parse::RecDescent::Rule' ),
15471             'objreference' => bless( {
15472             'impcount' => 0,
15473             'calls' => [],
15474             'changed' => 0,
15475             'opcount' => 0,
15476             'prods' => [
15477             bless( {
15478             'number' => '0',
15479             'strcount' => 1,
15480             'dircount' => 0,
15481             'uncommit' => undef,
15482             'error' => undef,
15483             'patcount' => 2,
15484             'actcount' => 0,
15485             'items' => [
15486             bless( {
15487             'pattern' => '\\d+',
15488             'hashname' => '__PATTERN1__',
15489             'description' => '/\\\\d+/',
15490             'lookahead' => 0,
15491             'rdelim' => '/',
15492             'line' => 150,
15493             'mod' => '',
15494             'ldelim' => '/'
15495             }, 'Parse::RecDescent::Token' ),
15496             bless( {
15497             'pattern' => '\\d+',
15498             'hashname' => '__PATTERN2__',
15499             'description' => '/\\\\d+/',
15500             'lookahead' => 0,
15501             'rdelim' => '/',
15502             'line' => 150,
15503             'mod' => '',
15504             'ldelim' => '/'
15505             }, 'Parse::RecDescent::Token' ),
15506             bless( {
15507             'pattern' => 'R',
15508             'hashname' => '__STRING1__',
15509             'description' => '\'R\'',
15510             'lookahead' => 0,
15511             'line' => 150
15512             }, 'Parse::RecDescent::Literal' )
15513             ],
15514             'line' => undef
15515             }, 'Parse::RecDescent::Production' )
15516             ],
15517             'name' => 'objreference',
15518             'vars' => '',
15519             'line' => 150
15520             }, 'Parse::RecDescent::Rule' ),
15521             'idnum' => bless( {
15522             'impcount' => 0,
15523             'calls' => [
15524             'idnumchars'
15525             ],
15526             'changed' => 0,
15527             'opcount' => 0,
15528             'prods' => [
15529             bless( {
15530             'number' => '0',
15531             'strcount' => 2,
15532             'dircount' => 1,
15533             'uncommit' => undef,
15534             'error' => undef,
15535             'patcount' => 1,
15536             'actcount' => 0,
15537             'items' => [
15538             bless( {
15539             'pattern' => '<',
15540             'hashname' => '__STRING1__',
15541             'description' => '\'<\'',
15542             'lookahead' => 0,
15543             'line' => 354
15544             }, 'Parse::RecDescent::Literal' ),
15545             bless( {
15546             'pattern' => '[\\w]*',
15547             'hashname' => '__PATTERN1__',
15548             'description' => '/[\\\\w]*/',
15549             'lookahead' => 0,
15550             'rdelim' => '/',
15551             'line' => 354,
15552             'mod' => '',
15553             'ldelim' => '/'
15554             }, 'Parse::RecDescent::Token' ),
15555             bless( {
15556             'pattern' => '>',
15557             'hashname' => '__STRING2__',
15558             'description' => '\'>\'',
15559             'lookahead' => 0,
15560             'line' => 354
15561             }, 'Parse::RecDescent::Literal' ),
15562             bless( {
15563             'hashname' => '__DIRECTIVE1__',
15564             'name' => '{ID}}, $item[1].$item[2].$item[3]); }>',
15565             'lookahead' => 0,
15566             'line' => 355,
15567             'code' => 'push @{$thisparser->{deferred}}, sub { push (@{$PDF::FDF::Simple::deferred_result_FDF_OPTIONS->{ID}}, $item[1].$item[2].$item[3]); };'
15568             }, 'Parse::RecDescent::Directive' )
15569             ],
15570             'line' => undef
15571             }, 'Parse::RecDescent::Production' ),
15572             bless( {
15573             'number' => '1',
15574             'strcount' => 2,
15575             'dircount' => 1,
15576             'uncommit' => undef,
15577             'error' => undef,
15578             'patcount' => 0,
15579             'actcount' => 0,
15580             'items' => [
15581             bless( {
15582             'pattern' => '(',
15583             'hashname' => '__STRING1__',
15584             'description' => '\'(\'',
15585             'lookahead' => 0,
15586             'line' => 356
15587             }, 'Parse::RecDescent::Literal' ),
15588             bless( {
15589             'subrule' => 'idnumchars',
15590             'matchrule' => 0,
15591             'implicit' => undef,
15592             'argcode' => undef,
15593             'lookahead' => 0,
15594             'line' => 356
15595             }, 'Parse::RecDescent::Subrule' ),
15596             bless( {
15597             'pattern' => ')',
15598             'hashname' => '__STRING2__',
15599             'description' => '\')\'',
15600             'lookahead' => 0,
15601             'line' => 356
15602             }, 'Parse::RecDescent::Literal' ),
15603             bless( {
15604             'hashname' => '__DIRECTIVE1__',
15605             'name' => '{ID}}, $item[1].$item{idnumchars}.$item[3]); }>',
15606             'lookahead' => 0,
15607             'line' => 357,
15608             'code' => 'push @{$thisparser->{deferred}}, sub { push (@{$PDF::FDF::Simple::deferred_result_FDF_OPTIONS->{ID}}, $item[1].$item{idnumchars}.$item[3]); };'
15609             }, 'Parse::RecDescent::Directive' )
15610             ],
15611             'line' => 356
15612             }, 'Parse::RecDescent::Production' )
15613             ],
15614             'name' => 'idnum',
15615             'vars' => '',
15616             'line' => 352
15617             }, 'Parse::RecDescent::Rule' ),
15618             'fieldvalue' => bless( {
15619             'impcount' => 0,
15620             'calls' => [
15621             'value',
15622             'valarray',
15623             'feature',
15624             'objreference'
15625             ],
15626             'changed' => 0,
15627             'opcount' => 0,
15628             'prods' => [
15629             bless( {
15630             'number' => '0',
15631             'strcount' => 3,
15632             'dircount' => 2,
15633             'uncommit' => undef,
15634             'error' => undef,
15635             'patcount' => 0,
15636             'actcount' => 1,
15637             'items' => [
15638             bless( {
15639             'pattern' => '/V',
15640             'hashname' => '__STRING1__',
15641             'description' => '\'/V\'',
15642             'lookahead' => 0,
15643             'line' => 204
15644             }, 'Parse::RecDescent::Literal' ),
15645             bless( {
15646             'pattern' => '(',
15647             'hashname' => '__STRING2__',
15648             'description' => '\'(\'',
15649             'lookahead' => 0,
15650             'line' => 204
15651             }, 'Parse::RecDescent::Literal' ),
15652             bless( {
15653             'hashname' => '__DIRECTIVE1__',
15654             'name' => '',
15655             'lookahead' => 0,
15656             'line' => 204,
15657             'code' => 'my $oldskip = $skip; $skip=""; $oldskip'
15658             }, 'Parse::RecDescent::Directive' ),
15659             bless( {
15660             'subrule' => 'value',
15661             'matchrule' => 0,
15662             'implicit' => undef,
15663             'argcode' => undef,
15664             'lookahead' => 0,
15665             'line' => 204
15666             }, 'Parse::RecDescent::Subrule' ),
15667             bless( {
15668             'hashname' => '__DIRECTIVE2__',
15669             'name' => '',
15670             'lookahead' => 0,
15671             'line' => 204,
15672             'code' => 'my $oldskip = $skip; $skip=$item[3]; $oldskip'
15673             }, 'Parse::RecDescent::Directive' ),
15674             bless( {
15675             'pattern' => ')',
15676             'hashname' => '__STRING3__',
15677             'description' => '\')\'',
15678             'lookahead' => 0,
15679             'line' => 204
15680             }, 'Parse::RecDescent::Literal' ),
15681             bless( {
15682             'hashname' => '__ACTION1__',
15683             'lookahead' => 0,
15684             'line' => 205,
15685             'code' => '{
15686             $return = $item{value};
15687             $return =~ s/\\\\(\\d{3})/sprintf ("%c", oct($1))/eg; # handle octal
15688             #$return =~ s/\\#([0-9A-F]{2})/sprintf ("%c", hex($1))/eg; # handle hex
15689             }'
15690             }, 'Parse::RecDescent::Action' )
15691             ],
15692             'line' => undef
15693             }, 'Parse::RecDescent::Production' ),
15694             bless( {
15695             'number' => '1',
15696             'strcount' => 3,
15697             'dircount' => 0,
15698             'uncommit' => undef,
15699             'error' => undef,
15700             'patcount' => 0,
15701             'actcount' => 1,
15702             'items' => [
15703             bless( {
15704             'pattern' => '/V',
15705             'hashname' => '__STRING1__',
15706             'description' => '\'/V\'',
15707             'lookahead' => 0,
15708             'line' => 210
15709             }, 'Parse::RecDescent::Literal' ),
15710             bless( {
15711             'pattern' => '[',
15712             'hashname' => '__STRING2__',
15713             'description' => '\'[\'',
15714             'lookahead' => 0,
15715             'line' => 210
15716             }, 'Parse::RecDescent::Literal' ),
15717             bless( {
15718             'subrule' => 'valarray',
15719             'matchrule' => 0,
15720             'implicit' => undef,
15721             'argcode' => undef,
15722             'lookahead' => 0,
15723             'line' => 210
15724             }, 'Parse::RecDescent::Subrule' ),
15725             bless( {
15726             'pattern' => ']',
15727             'hashname' => '__STRING3__',
15728             'description' => '\']\'',
15729             'lookahead' => 0,
15730             'line' => 210
15731             }, 'Parse::RecDescent::Literal' ),
15732             bless( {
15733             'hashname' => '__ACTION1__',
15734             'lookahead' => 0,
15735             'line' => 211,
15736             'code' => '{
15737             $return = $item{valarray};
15738             }'
15739             }, 'Parse::RecDescent::Action' )
15740             ],
15741             'line' => 210
15742             }, 'Parse::RecDescent::Production' ),
15743             bless( {
15744             'number' => '2',
15745             'strcount' => 1,
15746             'dircount' => 0,
15747             'uncommit' => undef,
15748             'error' => undef,
15749             'patcount' => 0,
15750             'actcount' => 1,
15751             'items' => [
15752             bless( {
15753             'pattern' => '/V',
15754             'hashname' => '__STRING1__',
15755             'description' => '\'/V\'',
15756             'lookahead' => 0,
15757             'line' => 214
15758             }, 'Parse::RecDescent::Literal' ),
15759             bless( {
15760             'subrule' => 'feature',
15761             'matchrule' => 0,
15762             'implicit' => undef,
15763             'argcode' => undef,
15764             'lookahead' => 0,
15765             'line' => 214
15766             }, 'Parse::RecDescent::Subrule' ),
15767             bless( {
15768             'hashname' => '__ACTION1__',
15769             'lookahead' => 0,
15770             'line' => 215,
15771             'code' => '{
15772             $return = substr ($item{feature}, 1);
15773             $return =~ s/\\\\(\\d{3})/sprintf ("%c", oct($1))/eg; # handle octal
15774             $return =~ s/\\#([0-9A-F]{2})/sprintf ("%c", hex($1))/eg; # handle hex
15775             }'
15776             }, 'Parse::RecDescent::Action' )
15777             ],
15778             'line' => 214
15779             }, 'Parse::RecDescent::Production' ),
15780             bless( {
15781             'number' => '3',
15782             'strcount' => 1,
15783             'dircount' => 0,
15784             'uncommit' => undef,
15785             'error' => undef,
15786             'patcount' => 0,
15787             'actcount' => 0,
15788             'items' => [
15789             bless( {
15790             'pattern' => '/V',
15791             'hashname' => '__STRING1__',
15792             'description' => '\'/V\'',
15793             'lookahead' => 0,
15794             'line' => 221
15795             }, 'Parse::RecDescent::Literal' ),
15796             bless( {
15797             'subrule' => 'objreference',
15798             'matchrule' => 0,
15799             'implicit' => undef,
15800             'argcode' => undef,
15801             'lookahead' => 0,
15802             'line' => 221
15803             }, 'Parse::RecDescent::Subrule' )
15804             ],
15805             'line' => 220
15806             }, 'Parse::RecDescent::Production' )
15807             ],
15808             'name' => 'fieldvalue',
15809             'vars' => '',
15810             'line' => 204
15811             }, 'Parse::RecDescent::Rule' ),
15812             'idnumchar' => bless( {
15813             'impcount' => 0,
15814             'calls' => [],
15815             'changed' => 0,
15816             'opcount' => 0,
15817             'prods' => [
15818             bless( {
15819             'number' => '0',
15820             'strcount' => 1,
15821             'dircount' => 0,
15822             'uncommit' => undef,
15823             'error' => undef,
15824             'patcount' => 0,
15825             'actcount' => 1,
15826             'items' => [
15827             bless( {
15828             'pattern' => '\\)',
15829             'hashname' => '__STRING1__',
15830             'description' => '\'\\\\)\'',
15831             'lookahead' => 0,
15832             'line' => 359
15833             }, 'Parse::RecDescent::Literal' ),
15834             bless( {
15835             'hashname' => '__ACTION1__',
15836             'lookahead' => 0,
15837             'line' => 360,
15838             'code' => '{ $return = $item[1]; }'
15839             }, 'Parse::RecDescent::Action' )
15840             ],
15841             'line' => undef
15842             }, 'Parse::RecDescent::Production' ),
15843             bless( {
15844             'number' => '1',
15845             'strcount' => 1,
15846             'dircount' => 0,
15847             'uncommit' => undef,
15848             'error' => undef,
15849             'patcount' => 0,
15850             'actcount' => 1,
15851             'items' => [
15852             bless( {
15853             'pattern' => '\\(',
15854             'hashname' => '__STRING1__',
15855             'description' => '\'\\\\(\'',
15856             'lookahead' => 0,
15857             'line' => 361
15858             }, 'Parse::RecDescent::Literal' ),
15859             bless( {
15860             'hashname' => '__ACTION1__',
15861             'lookahead' => 0,
15862             'line' => 362,
15863             'code' => '{ $return = $item[1]; }'
15864             }, 'Parse::RecDescent::Action' )
15865             ],
15866             'line' => 361
15867             }, 'Parse::RecDescent::Production' ),
15868             bless( {
15869             'number' => '2',
15870             'strcount' => 1,
15871             'dircount' => 0,
15872             'uncommit' => undef,
15873             'error' => undef,
15874             'patcount' => 0,
15875             'actcount' => 1,
15876             'items' => [
15877             bless( {
15878             'pattern' => '\\\\',
15879             'hashname' => '__STRING1__',
15880             'description' => '\'\\\\\\\\\'',
15881             'lookahead' => 0,
15882             'line' => 363
15883             }, 'Parse::RecDescent::Literal' ),
15884             bless( {
15885             'hashname' => '__ACTION1__',
15886             'lookahead' => 0,
15887             'line' => 364,
15888             'code' => '{ $return = $item[1]; }'
15889             }, 'Parse::RecDescent::Action' )
15890             ],
15891             'line' => 363
15892             }, 'Parse::RecDescent::Production' ),
15893             bless( {
15894             'number' => '3',
15895             'strcount' => 0,
15896             'dircount' => 0,
15897             'uncommit' => undef,
15898             'error' => undef,
15899             'patcount' => 1,
15900             'actcount' => 1,
15901             'items' => [
15902             bless( {
15903             'pattern' => '[^()]',
15904             'hashname' => '__PATTERN1__',
15905             'description' => '/[^()]/',
15906             'lookahead' => 0,
15907             'rdelim' => '/',
15908             'line' => 365,
15909             'mod' => '',
15910             'ldelim' => '/'
15911             }, 'Parse::RecDescent::Token' ),
15912             bless( {
15913             'hashname' => '__ACTION1__',
15914             'lookahead' => 0,
15915             'line' => 366,
15916             'code' => '{ $return = $item[1]; }'
15917             }, 'Parse::RecDescent::Action' )
15918             ],
15919             'line' => 365
15920             }, 'Parse::RecDescent::Production' )
15921             ],
15922             'name' => 'idnumchar',
15923             'vars' => '',
15924             'line' => 359
15925             }, 'Parse::RecDescent::Rule' ),
15926             'garbage' => bless( {
15927             'impcount' => 0,
15928             'calls' => [],
15929             'changed' => 0,
15930             'opcount' => 0,
15931             'prods' => [
15932             bless( {
15933             'number' => '0',
15934             'strcount' => 0,
15935             'dircount' => 0,
15936             'uncommit' => undef,
15937             'error' => undef,
15938             'patcount' => 1,
15939             'actcount' => 0,
15940             'items' => [
15941             bless( {
15942             'pattern' => '%[^0-9]*',
15943             'hashname' => '__PATTERN1__',
15944             'description' => '/%[^0-9]*/',
15945             'lookahead' => 0,
15946             'rdelim' => '/',
15947             'line' => 43,
15948             'mod' => '',
15949             'ldelim' => '/'
15950             }, 'Parse::RecDescent::Token' )
15951             ],
15952             'line' => undef
15953             }, 'Parse::RecDescent::Production' ),
15954             bless( {
15955             'number' => '1',
15956             'strcount' => 0,
15957             'dircount' => 0,
15958             'uncommit' => undef,
15959             'error' => undef,
15960             'patcount' => 0,
15961             'actcount' => 0,
15962             'items' => [],
15963             'line' => 44
15964             }, 'Parse::RecDescent::Production' )
15965             ],
15966             'name' => 'garbage',
15967             'vars' => '',
15968             'line' => 41
15969             }, 'Parse::RecDescent::Rule' ),
15970             'paramvalue' => bless( {
15971             'impcount' => 0,
15972             'calls' => [],
15973             'changed' => 0,
15974             'opcount' => 0,
15975             'prods' => [
15976             bless( {
15977             'number' => '0',
15978             'strcount' => 2,
15979             'dircount' => 0,
15980             'uncommit' => undef,
15981             'error' => undef,
15982             'patcount' => 1,
15983             'actcount' => 0,
15984             'items' => [
15985             bless( {
15986             'pattern' => '(',
15987             'hashname' => '__STRING1__',
15988             'description' => '\'(\'',
15989             'lookahead' => 0,
15990             'line' => 144
15991             }, 'Parse::RecDescent::Literal' ),
15992             bless( {
15993             'pattern' => '[^)]*',
15994             'hashname' => '__PATTERN1__',
15995             'description' => 'm#[^)]*#',
15996             'lookahead' => 0,
15997             'rdelim' => '#',
15998             'line' => 144,
15999             'mod' => '',
16000             'ldelim' => '#'
16001             }, 'Parse::RecDescent::Token' ),
16002             bless( {
16003             'pattern' => ')',
16004             'hashname' => '__STRING2__',
16005             'description' => '\')\'',
16006             'lookahead' => 0,
16007             'line' => 144
16008             }, 'Parse::RecDescent::Literal' )
16009             ],
16010             'line' => undef
16011             }, 'Parse::RecDescent::Production' ),
16012             bless( {
16013             'number' => '1',
16014             'strcount' => 2,
16015             'dircount' => 0,
16016             'uncommit' => undef,
16017             'error' => undef,
16018             'patcount' => 1,
16019             'actcount' => 0,
16020             'items' => [
16021             bless( {
16022             'pattern' => '<',
16023             'hashname' => '__STRING1__',
16024             'description' => '\'<\'',
16025             'lookahead' => 0,
16026             'line' => 145
16027             }, 'Parse::RecDescent::Literal' ),
16028             bless( {
16029             'pattern' => '\\w*',
16030             'hashname' => '__PATTERN1__',
16031             'description' => 'm#\\\\w*#',
16032             'lookahead' => 0,
16033             'rdelim' => '#',
16034             'line' => 145,
16035             'mod' => '',
16036             'ldelim' => '#'
16037             }, 'Parse::RecDescent::Token' ),
16038             bless( {
16039             'pattern' => '>',
16040             'hashname' => '__STRING2__',
16041             'description' => '\'>\'',
16042             'lookahead' => 0,
16043             'line' => 145
16044             }, 'Parse::RecDescent::Literal' )
16045             ],
16046             'line' => 145
16047             }, 'Parse::RecDescent::Production' ),
16048             bless( {
16049             'number' => '2',
16050             'strcount' => 0,
16051             'dircount' => 0,
16052             'uncommit' => undef,
16053             'error' => undef,
16054             'patcount' => 1,
16055             'actcount' => 0,
16056             'items' => [
16057             bless( {
16058             'pattern' => '\\w+',
16059             'hashname' => '__PATTERN1__',
16060             'description' => 'm#\\\\w+#',
16061             'lookahead' => 0,
16062             'rdelim' => '#',
16063             'line' => 146,
16064             'mod' => '',
16065             'ldelim' => '#'
16066             }, 'Parse::RecDescent::Token' )
16067             ],
16068             'line' => 146
16069             }, 'Parse::RecDescent::Production' )
16070             ],
16071             'name' => 'paramvalue',
16072             'vars' => '',
16073             'line' => 144
16074             }, 'Parse::RecDescent::Rule' ),
16075             'filter' => bless( {
16076             'impcount' => 0,
16077             'calls' => [
16078             'filtertype'
16079             ],
16080             'changed' => 0,
16081             'opcount' => 0,
16082             'prods' => [
16083             bless( {
16084             'number' => '0',
16085             'strcount' => 1,
16086             'dircount' => 0,
16087             'uncommit' => undef,
16088             'error' => undef,
16089             'patcount' => 0,
16090             'actcount' => 0,
16091             'items' => [
16092             bless( {
16093             'pattern' => '/Filter',
16094             'hashname' => '__STRING1__',
16095             'description' => '\'/Filter\'',
16096             'lookahead' => 0,
16097             'line' => 129
16098             }, 'Parse::RecDescent::Literal' ),
16099             bless( {
16100             'subrule' => 'filtertype',
16101             'matchrule' => 0,
16102             'implicit' => undef,
16103             'argcode' => undef,
16104             'lookahead' => 0,
16105             'line' => 129
16106             }, 'Parse::RecDescent::Subrule' )
16107             ],
16108             'line' => undef
16109             }, 'Parse::RecDescent::Production' )
16110             ],
16111             'name' => 'filter',
16112             'vars' => '',
16113             'line' => 129
16114             }, 'Parse::RecDescent::Rule' ),
16115             'paramname' => bless( {
16116             'impcount' => 0,
16117             'calls' => [],
16118             'changed' => 0,
16119             'opcount' => 0,
16120             'prods' => [
16121             bless( {
16122             'number' => '0',
16123             'strcount' => 1,
16124             'dircount' => 0,
16125             'uncommit' => undef,
16126             'error' => undef,
16127             'patcount' => 1,
16128             'actcount' => 0,
16129             'items' => [
16130             bless( {
16131             'pattern' => '/',
16132             'hashname' => '__STRING1__',
16133             'description' => '\'/\'',
16134             'lookahead' => 0,
16135             'line' => 142
16136             }, 'Parse::RecDescent::Literal' ),
16137             bless( {
16138             'pattern' => '\\w+',
16139             'hashname' => '__PATTERN1__',
16140             'description' => 'm#\\\\w+#',
16141             'lookahead' => 0,
16142             'rdelim' => '#',
16143             'line' => 142,
16144             'mod' => '',
16145             'ldelim' => '#'
16146             }, 'Parse::RecDescent::Token' )
16147             ],
16148             'line' => undef
16149             }, 'Parse::RecDescent::Production' )
16150             ],
16151             'name' => 'paramname',
16152             'vars' => '',
16153             'line' => 142
16154             }, 'Parse::RecDescent::Rule' ),
16155             'fieldlist' => bless( {
16156             'impcount' => 0,
16157             'calls' => [
16158             'field',
16159             'fieldlist',
16160             'fieldname',
16161             'kids'
16162             ],
16163             'changed' => 0,
16164             'opcount' => 0,
16165             'prods' => [
16166             bless( {
16167             'number' => '0',
16168             'strcount' => 0,
16169             'dircount' => 0,
16170             'uncommit' => undef,
16171             'error' => undef,
16172             'patcount' => 0,
16173             'actcount' => 1,
16174             'items' => [
16175             bless( {
16176             'subrule' => 'field',
16177             'matchrule' => 0,
16178             'implicit' => undef,
16179             'argcode' => undef,
16180             'lookahead' => 0,
16181             'line' => 152
16182             }, 'Parse::RecDescent::Subrule' ),
16183             bless( {
16184             'subrule' => 'fieldlist',
16185             'matchrule' => 0,
16186             'implicit' => undef,
16187             'argcode' => undef,
16188             'lookahead' => 0,
16189             'line' => 152
16190             }, 'Parse::RecDescent::Subrule' ),
16191             bless( {
16192             'hashname' => '__ACTION1__',
16193             'lookahead' => 0,
16194             'line' => 153,
16195             'code' => '{
16196             push ( @{$return}, $item{field}, @{$item{fieldlist}} );
16197             }'
16198             }, 'Parse::RecDescent::Action' )
16199             ],
16200             'line' => undef
16201             }, 'Parse::RecDescent::Production' ),
16202             bless( {
16203             'number' => '1',
16204             'strcount' => 2,
16205             'dircount' => 0,
16206             'uncommit' => undef,
16207             'error' => undef,
16208             'patcount' => 0,
16209             'actcount' => 1,
16210             'items' => [
16211             bless( {
16212             'pattern' => '<<',
16213             'hashname' => '__STRING1__',
16214             'description' => '\'<<\'',
16215             'lookahead' => 0,
16216             'line' => 159
16217             }, 'Parse::RecDescent::Literal' ),
16218             bless( {
16219             'subrule' => 'fieldname',
16220             'matchrule' => 0,
16221             'implicit' => undef,
16222             'argcode' => undef,
16223             'lookahead' => 0,
16224             'line' => 159
16225             }, 'Parse::RecDescent::Subrule' ),
16226             bless( {
16227             'subrule' => 'kids',
16228             'matchrule' => 0,
16229             'implicit' => undef,
16230             'argcode' => undef,
16231             'lookahead' => 0,
16232             'line' => 159
16233             }, 'Parse::RecDescent::Subrule' ),
16234             bless( {
16235             'pattern' => '>>',
16236             'hashname' => '__STRING2__',
16237             'description' => '\'>>\'',
16238             'lookahead' => 0,
16239             'line' => 159
16240             }, 'Parse::RecDescent::Literal' ),
16241             bless( {
16242             'subrule' => 'fieldlist',
16243             'matchrule' => 0,
16244             'implicit' => undef,
16245             'argcode' => undef,
16246             'lookahead' => 0,
16247             'line' => 159
16248             }, 'Parse::RecDescent::Subrule' ),
16249             bless( {
16250             'hashname' => '__ACTION1__',
16251             'lookahead' => 0,
16252             'line' => 160,
16253             'code' => '{
16254             my $fieldlist;
16255             foreach my $ref ( @{$item{kids}} ) {
16256             my %kids = %{$ref};
16257             foreach my $key (keys %kids) {
16258             push (@{$fieldlist},{$item{fieldname}.".".$key=>$kids{$key}});
16259             }
16260             }
16261             push ( @{$return}, @{$fieldlist}, @{$item{fieldlist}} );
16262             }'
16263             }, 'Parse::RecDescent::Action' )
16264             ],
16265             'line' => 158
16266             }, 'Parse::RecDescent::Production' ),
16267             bless( {
16268             'number' => '2',
16269             'strcount' => 2,
16270             'dircount' => 0,
16271             'uncommit' => undef,
16272             'error' => undef,
16273             'patcount' => 0,
16274             'actcount' => 1,
16275             'items' => [
16276             bless( {
16277             'pattern' => '<<',
16278             'hashname' => '__STRING1__',
16279             'description' => '\'<<\'',
16280             'lookahead' => 0,
16281             'line' => 170
16282             }, 'Parse::RecDescent::Literal' ),
16283             bless( {
16284             'subrule' => 'kids',
16285             'matchrule' => 0,
16286             'implicit' => undef,
16287             'argcode' => undef,
16288             'lookahead' => 0,
16289             'line' => 170
16290             }, 'Parse::RecDescent::Subrule' ),
16291             bless( {
16292             'subrule' => 'fieldname',
16293             'matchrule' => 0,
16294             'implicit' => undef,
16295             'argcode' => undef,
16296             'lookahead' => 0,
16297             'line' => 170
16298             }, 'Parse::RecDescent::Subrule' ),
16299             bless( {
16300             'pattern' => '>>',
16301             'hashname' => '__STRING2__',
16302             'description' => '\'>>\'',
16303             'lookahead' => 0,
16304             'line' => 170
16305             }, 'Parse::RecDescent::Literal' ),
16306             bless( {
16307             'subrule' => 'fieldlist',
16308             'matchrule' => 0,
16309             'implicit' => undef,
16310             'argcode' => undef,
16311             'lookahead' => 0,
16312             'line' => 170
16313             }, 'Parse::RecDescent::Subrule' ),
16314             bless( {
16315             'hashname' => '__ACTION1__',
16316             'lookahead' => 0,
16317             'line' => 171,
16318             'code' => '{
16319             my $fieldlist;
16320             foreach my $ref ( @{$item{kids}} ) {
16321             my %kids = %{$ref};
16322             foreach my $key (keys %kids) {
16323             push (@{$fieldlist},{ $item{fieldname}.".".$key=>$kids{$key}});
16324             }
16325             }
16326             push ( @{$return}, @{$fieldlist}, @{$item{fieldlist}} );
16327             }'
16328             }, 'Parse::RecDescent::Action' )
16329             ],
16330             'line' => 170
16331             }, 'Parse::RecDescent::Production' ),
16332             bless( {
16333             'number' => '3',
16334             'strcount' => 0,
16335             'dircount' => 0,
16336             'uncommit' => undef,
16337             'error' => undef,
16338             'patcount' => 0,
16339             'actcount' => 1,
16340             'items' => [
16341             bless( {
16342             'hashname' => '__ACTION1__',
16343             'lookahead' => 0,
16344             'line' => 181,
16345             'code' => '{
16346             $return = [];
16347             }'
16348             }, 'Parse::RecDescent::Action' )
16349             ],
16350             'line' => 181
16351             }, 'Parse::RecDescent::Production' )
16352             ],
16353             'name' => 'fieldlist',
16354             'vars' => '',
16355             'line' => 152
16356             }, 'Parse::RecDescent::Rule' ),
16357             'filename' => bless( {
16358             'impcount' => 0,
16359             'calls' => [
16360             'name'
16361             ],
16362             'changed' => 0,
16363             'opcount' => 0,
16364             'prods' => [
16365             bless( {
16366             'number' => '0',
16367             'strcount' => 2,
16368             'dircount' => 0,
16369             'uncommit' => undef,
16370             'error' => undef,
16371             'patcount' => 0,
16372             'actcount' => 1,
16373             'items' => [
16374             bless( {
16375             'pattern' => '(',
16376             'hashname' => '__STRING1__',
16377             'description' => '\'(\'',
16378             'lookahead' => 0,
16379             'line' => 105
16380             }, 'Parse::RecDescent::Literal' ),
16381             bless( {
16382             'subrule' => 'name',
16383             'matchrule' => 0,
16384             'implicit' => undef,
16385             'argcode' => undef,
16386             'lookahead' => 0,
16387             'line' => 105
16388             }, 'Parse::RecDescent::Subrule' ),
16389             bless( {
16390             'pattern' => ')',
16391             'hashname' => '__STRING2__',
16392             'description' => '\')\'',
16393             'lookahead' => 0,
16394             'line' => 105
16395             }, 'Parse::RecDescent::Literal' ),
16396             bless( {
16397             'hashname' => '__ACTION1__',
16398             'lookahead' => 0,
16399             'line' => 106,
16400             'code' => '{
16401             $return = $item[2];
16402             }'
16403             }, 'Parse::RecDescent::Action' )
16404             ],
16405             'line' => undef
16406             }, 'Parse::RecDescent::Production' )
16407             ],
16408             'name' => 'filename',
16409             'vars' => '',
16410             'line' => 105
16411             }, 'Parse::RecDescent::Rule' ),
16412             'filtertype' => bless( {
16413             'impcount' => 0,
16414             'calls' => [],
16415             'changed' => 0,
16416             'opcount' => 0,
16417             'prods' => [
16418             bless( {
16419             'number' => '0',
16420             'strcount' => 1,
16421             'dircount' => 0,
16422             'uncommit' => undef,
16423             'error' => undef,
16424             'patcount' => 0,
16425             'actcount' => 0,
16426             'items' => [
16427             bless( {
16428             'pattern' => '/FlateDecode',
16429             'hashname' => '__STRING1__',
16430             'description' => '\'/FlateDecode\'',
16431             'lookahead' => 0,
16432             'line' => 131
16433             }, 'Parse::RecDescent::Literal' )
16434             ],
16435             'line' => undef
16436             }, 'Parse::RecDescent::Production' )
16437             ],
16438             'name' => 'filtertype',
16439             'vars' => '',
16440             'line' => 131
16441             }, 'Parse::RecDescent::Rule' ),
16442             'streamcont' => bless( {
16443             'impcount' => 0,
16444             'calls' => [
16445             'streamline',
16446             'streamcont'
16447             ],
16448             'changed' => 0,
16449             'opcount' => 0,
16450             'prods' => [
16451             bless( {
16452             'number' => '0',
16453             'strcount' => 0,
16454             'dircount' => 0,
16455             'uncommit' => undef,
16456             'error' => undef,
16457             'patcount' => 0,
16458             'actcount' => 1,
16459             'items' => [
16460             bless( {
16461             'subrule' => 'streamline',
16462             'matchrule' => 0,
16463             'implicit' => undef,
16464             'argcode' => undef,
16465             'lookahead' => 0,
16466             'line' => 117
16467             }, 'Parse::RecDescent::Subrule' ),
16468             bless( {
16469             'subrule' => 'streamcont',
16470             'matchrule' => 0,
16471             'implicit' => undef,
16472             'argcode' => undef,
16473             'lookahead' => 0,
16474             'line' => 117
16475             }, 'Parse::RecDescent::Subrule' ),
16476             bless( {
16477             'hashname' => '__ACTION1__',
16478             'lookahead' => 0,
16479             'line' => 118,
16480             'code' => '{
16481             $return = $item[1];
16482             }'
16483             }, 'Parse::RecDescent::Action' )
16484             ],
16485             'line' => undef
16486             }, 'Parse::RecDescent::Production' ),
16487             bless( {
16488             'number' => '1',
16489             'strcount' => 0,
16490             'dircount' => 0,
16491             'uncommit' => undef,
16492             'error' => undef,
16493             'patcount' => 0,
16494             'actcount' => 0,
16495             'items' => [],
16496             'line' => 121
16497             }, 'Parse::RecDescent::Production' )
16498             ],
16499             'name' => 'streamcont',
16500             'vars' => '',
16501             'line' => 117
16502             }, 'Parse::RecDescent::Rule' ),
16503             'stemstream' => bless( {
16504             'impcount' => 0,
16505             'calls' => [
16506             'streamcont'
16507             ],
16508             'changed' => 0,
16509             'opcount' => 0,
16510             'prods' => [
16511             bless( {
16512             'number' => '0',
16513             'strcount' => 1,
16514             'dircount' => 0,
16515             'uncommit' => undef,
16516             'error' => undef,
16517             'patcount' => 0,
16518             'actcount' => 1,
16519             'items' => [
16520             bless( {
16521             'subrule' => 'streamcont',
16522             'matchrule' => 0,
16523             'implicit' => undef,
16524             'argcode' => undef,
16525             'lookahead' => 0,
16526             'line' => 98
16527             }, 'Parse::RecDescent::Subrule' ),
16528             bless( {
16529             'pattern' => 'endstream',
16530             'hashname' => '__STRING1__',
16531             'description' => '\'endstream\'',
16532             'lookahead' => 0,
16533             'line' => 98
16534             }, 'Parse::RecDescent::Literal' ),
16535             bless( {
16536             'hashname' => '__ACTION1__',
16537             'lookahead' => 0,
16538             'line' => 99,
16539             'code' => '{
16540             $return = $item[1];
16541             }'
16542             }, 'Parse::RecDescent::Action' )
16543             ],
16544             'line' => undef
16545             }, 'Parse::RecDescent::Production' )
16546             ],
16547             'name' => 'stemstream',
16548             'vars' => '',
16549             'line' => 98
16550             }, 'Parse::RecDescent::Rule' ),
16551             'valarray' => bless( {
16552             'impcount' => 0,
16553             'calls' => [
16554             'value',
16555             'valarray'
16556             ],
16557             'changed' => 0,
16558             'opcount' => 0,
16559             'prods' => [
16560             bless( {
16561             'number' => '0',
16562             'strcount' => 2,
16563             'dircount' => 2,
16564             'uncommit' => undef,
16565             'error' => undef,
16566             'patcount' => 0,
16567             'actcount' => 1,
16568             'items' => [
16569             bless( {
16570             'pattern' => '(',
16571             'hashname' => '__STRING1__',
16572             'description' => '\'(\'',
16573             'lookahead' => 0,
16574             'line' => 232
16575             }, 'Parse::RecDescent::Literal' ),
16576             bless( {
16577             'hashname' => '__DIRECTIVE1__',
16578             'name' => '',
16579             'lookahead' => 0,
16580             'line' => 232,
16581             'code' => 'my $oldskip = $skip; $skip=""; $oldskip'
16582             }, 'Parse::RecDescent::Directive' ),
16583             bless( {
16584             'subrule' => 'value',
16585             'matchrule' => 0,
16586             'implicit' => undef,
16587             'argcode' => undef,
16588             'lookahead' => 0,
16589             'line' => 232
16590             }, 'Parse::RecDescent::Subrule' ),
16591             bless( {
16592             'hashname' => '__DIRECTIVE2__',
16593             'name' => '',
16594             'lookahead' => 0,
16595             'line' => 232,
16596             'code' => 'my $oldskip = $skip; $skip=$item[2]; $oldskip'
16597             }, 'Parse::RecDescent::Directive' ),
16598             bless( {
16599             'pattern' => ')',
16600             'hashname' => '__STRING2__',
16601             'description' => '\')\'',
16602             'lookahead' => 0,
16603             'line' => 232
16604             }, 'Parse::RecDescent::Literal' ),
16605             bless( {
16606             'subrule' => 'valarray',
16607             'matchrule' => 0,
16608             'implicit' => undef,
16609             'argcode' => undef,
16610             'lookahead' => 0,
16611             'line' => 232
16612             }, 'Parse::RecDescent::Subrule' ),
16613             bless( {
16614             'hashname' => '__ACTION1__',
16615             'lookahead' => 0,
16616             'line' => 233,
16617             'code' => '{
16618             push @{$return}, $item{value}, @{$item{valarray}};
16619             }'
16620             }, 'Parse::RecDescent::Action' )
16621             ],
16622             'line' => undef
16623             }, 'Parse::RecDescent::Production' ),
16624             bless( {
16625             'number' => '1',
16626             'strcount' => 0,
16627             'dircount' => 0,
16628             'uncommit' => undef,
16629             'error' => undef,
16630             'patcount' => 0,
16631             'actcount' => 1,
16632             'items' => [
16633             bless( {
16634             'hashname' => '__ACTION1__',
16635             'lookahead' => 0,
16636             'line' => 236,
16637             'code' => '{ $return = []; }'
16638             }, 'Parse::RecDescent::Action' )
16639             ],
16640             'line' => 236
16641             }, 'Parse::RecDescent::Production' )
16642             ],
16643             'name' => 'valarray',
16644             'vars' => '',
16645             'line' => 232
16646             }, 'Parse::RecDescent::Rule' ),
16647             'idnumchars' => bless( {
16648             'impcount' => 0,
16649             'calls' => [
16650             'idnumchar',
16651             'idnumchars'
16652             ],
16653             'changed' => 0,
16654             'opcount' => 0,
16655             'prods' => [
16656             bless( {
16657             'number' => '0',
16658             'strcount' => 0,
16659             'dircount' => 0,
16660             'uncommit' => undef,
16661             'error' => undef,
16662             'patcount' => 0,
16663             'actcount' => 1,
16664             'items' => [
16665             bless( {
16666             'subrule' => 'idnumchar',
16667             'matchrule' => 0,
16668             'implicit' => undef,
16669             'argcode' => undef,
16670             'lookahead' => 0,
16671             'line' => 368
16672             }, 'Parse::RecDescent::Subrule' ),
16673             bless( {
16674             'subrule' => 'idnumchars',
16675             'matchrule' => 0,
16676             'implicit' => undef,
16677             'argcode' => undef,
16678             'lookahead' => 0,
16679             'line' => 368
16680             }, 'Parse::RecDescent::Subrule' ),
16681             bless( {
16682             'hashname' => '__ACTION1__',
16683             'lookahead' => 0,
16684             'line' => 369,
16685             'code' => '{
16686             $return = $item{idnumchar}.$item{idnumchars};
16687             }'
16688             }, 'Parse::RecDescent::Action' )
16689             ],
16690             'line' => undef
16691             }, 'Parse::RecDescent::Production' ),
16692             bless( {
16693             'number' => '1',
16694             'strcount' => 0,
16695             'dircount' => 0,
16696             'uncommit' => undef,
16697             'error' => undef,
16698             'patcount' => 0,
16699             'actcount' => 1,
16700             'items' => [
16701             bless( {
16702             'hashname' => '__ACTION1__',
16703             'lookahead' => 0,
16704             'line' => 372,
16705             'code' => '{
16706             $return = "";
16707             }'
16708             }, 'Parse::RecDescent::Action' )
16709             ],
16710             'line' => 372
16711             }, 'Parse::RecDescent::Production' )
16712             ],
16713             'name' => 'idnumchars',
16714             'vars' => '',
16715             'line' => 368
16716             }, 'Parse::RecDescent::Rule' ),
16717             'valuechar' => bless( {
16718             'impcount' => 0,
16719             'calls' => [],
16720             'changed' => 0,
16721             'opcount' => 0,
16722             'prods' => [
16723             bless( {
16724             'number' => '0',
16725             'strcount' => 1,
16726             'dircount' => 0,
16727             'uncommit' => undef,
16728             'error' => undef,
16729             'patcount' => 0,
16730             'actcount' => 1,
16731             'items' => [
16732             bless( {
16733             'pattern' => '\\\\',
16734             'hashname' => '__STRING1__',
16735             'description' => '\'\\\\\\\\\'',
16736             'lookahead' => 0,
16737             'line' => 252
16738             }, 'Parse::RecDescent::Literal' ),
16739             bless( {
16740             'hashname' => '__ACTION1__',
16741             'lookahead' => 0,
16742             'line' => 253,
16743             'code' => '{
16744             $return = chr(92);
16745             }'
16746             }, 'Parse::RecDescent::Action' )
16747             ],
16748             'line' => undef
16749             }, 'Parse::RecDescent::Production' ),
16750             bless( {
16751             'number' => '1',
16752             'strcount' => 1,
16753             'dircount' => 0,
16754             'uncommit' => undef,
16755             'error' => undef,
16756             'patcount' => 0,
16757             'actcount' => 1,
16758             'items' => [
16759             bless( {
16760             'pattern' => '\\#',
16761             'hashname' => '__STRING1__',
16762             'description' => '\'\\\\#\'',
16763             'lookahead' => 0,
16764             'line' => 256
16765             }, 'Parse::RecDescent::Literal' ),
16766             bless( {
16767             'hashname' => '__ACTION1__',
16768             'lookahead' => 0,
16769             'line' => 257,
16770             'code' => '{
16771             $return = "#";
16772             }'
16773             }, 'Parse::RecDescent::Action' )
16774             ],
16775             'line' => 256
16776             }, 'Parse::RecDescent::Production' ),
16777             bless( {
16778             'number' => '2',
16779             'strcount' => 1,
16780             'dircount' => 0,
16781             'uncommit' => undef,
16782             'error' => undef,
16783             'patcount' => 0,
16784             'actcount' => 1,
16785             'items' => [
16786             bless( {
16787             'pattern' => '\\\\r',
16788             'hashname' => '__STRING1__',
16789             'description' => '\'\\\\\\\\r\'',
16790             'lookahead' => 0,
16791             'line' => 260
16792             }, 'Parse::RecDescent::Literal' ),
16793             bless( {
16794             'hashname' => '__ACTION1__',
16795             'lookahead' => 0,
16796             'line' => 261,
16797             'code' => '{
16798             $return = \'\\r\';
16799             }'
16800             }, 'Parse::RecDescent::Action' )
16801             ],
16802             'line' => 260
16803             }, 'Parse::RecDescent::Production' ),
16804             bless( {
16805             'number' => '3',
16806             'strcount' => 1,
16807             'dircount' => 0,
16808             'uncommit' => undef,
16809             'error' => undef,
16810             'patcount' => 0,
16811             'actcount' => 1,
16812             'items' => [
16813             bless( {
16814             'pattern' => '\\\\t',
16815             'hashname' => '__STRING1__',
16816             'description' => '\'\\\\\\\\t\'',
16817             'lookahead' => 0,
16818             'line' => 264
16819             }, 'Parse::RecDescent::Literal' ),
16820             bless( {
16821             'hashname' => '__ACTION1__',
16822             'lookahead' => 0,
16823             'line' => 265,
16824             'code' => '{
16825             $return = \'\\t\';
16826             }'
16827             }, 'Parse::RecDescent::Action' )
16828             ],
16829             'line' => 264
16830             }, 'Parse::RecDescent::Production' ),
16831             bless( {
16832             'number' => '4',
16833             'strcount' => 1,
16834             'dircount' => 0,
16835             'uncommit' => undef,
16836             'error' => undef,
16837             'patcount' => 0,
16838             'actcount' => 1,
16839             'items' => [
16840             bless( {
16841             'pattern' => '\\\\n',
16842             'hashname' => '__STRING1__',
16843             'description' => '\'\\\\\\\\n\'',
16844             'lookahead' => 0,
16845             'line' => 268
16846             }, 'Parse::RecDescent::Literal' ),
16847             bless( {
16848             'hashname' => '__ACTION1__',
16849             'lookahead' => 0,
16850             'line' => 269,
16851             'code' => '{
16852             $return = \'\\n\';
16853             }'
16854             }, 'Parse::RecDescent::Action' )
16855             ],
16856             'line' => 268
16857             }, 'Parse::RecDescent::Production' ),
16858             bless( {
16859             'number' => '5',
16860             'strcount' => 1,
16861             'dircount' => 0,
16862             'uncommit' => undef,
16863             'error' => undef,
16864             'patcount' => 0,
16865             'actcount' => 1,
16866             'items' => [
16867             bless( {
16868             'pattern' => '\\\\r',
16869             'hashname' => '__STRING1__',
16870             'description' => '\'\\\\\\\\r\'',
16871             'lookahead' => 0,
16872             'line' => 272
16873             }, 'Parse::RecDescent::Literal' ),
16874             bless( {
16875             'hashname' => '__ACTION1__',
16876             'lookahead' => 0,
16877             'line' => 273,
16878             'code' => '{
16879             $return = \'\';
16880             }'
16881             }, 'Parse::RecDescent::Action' )
16882             ],
16883             'line' => 272
16884             }, 'Parse::RecDescent::Production' ),
16885             bless( {
16886             'number' => '6',
16887             'strcount' => 1,
16888             'dircount' => 0,
16889             'uncommit' => undef,
16890             'error' => undef,
16891             'patcount' => 0,
16892             'actcount' => 1,
16893             'items' => [
16894             bless( {
16895             'pattern' => '\\\\n',
16896             'hashname' => '__STRING1__',
16897             'description' => '\'\\\\\\\\n\'',
16898             'lookahead' => 0,
16899             'line' => 276
16900             }, 'Parse::RecDescent::Literal' ),
16901             bless( {
16902             'hashname' => '__ACTION1__',
16903             'lookahead' => 0,
16904             'line' => 277,
16905             'code' => '{
16906             $return = \'\';
16907             }'
16908             }, 'Parse::RecDescent::Action' )
16909             ],
16910             'line' => 276
16911             }, 'Parse::RecDescent::Production' ),
16912             bless( {
16913             'number' => '7',
16914             'strcount' => 1,
16915             'dircount' => 0,
16916             'uncommit' => undef,
16917             'error' => undef,
16918             'patcount' => 0,
16919             'actcount' => 1,
16920             'items' => [
16921             bless( {
16922             'pattern' => '\\r',
16923             'hashname' => '__STRING1__',
16924             'description' => '\'\\\\r\'',
16925             'lookahead' => 0,
16926             'line' => 280
16927             }, 'Parse::RecDescent::Literal' ),
16928             bless( {
16929             'hashname' => '__ACTION1__',
16930             'lookahead' => 0,
16931             'line' => 281,
16932             'code' => '{
16933             $return = chr(13);
16934             }'
16935             }, 'Parse::RecDescent::Action' )
16936             ],
16937             'line' => 280
16938             }, 'Parse::RecDescent::Production' ),
16939             bless( {
16940             'number' => '8',
16941             'strcount' => 1,
16942             'dircount' => 0,
16943             'uncommit' => undef,
16944             'error' => undef,
16945             'patcount' => 0,
16946             'actcount' => 1,
16947             'items' => [
16948             bless( {
16949             'pattern' => '\\n',
16950             'hashname' => '__STRING1__',
16951             'description' => '\'\\\\n\'',
16952             'lookahead' => 0,
16953             'line' => 284
16954             }, 'Parse::RecDescent::Literal' ),
16955             bless( {
16956             'hashname' => '__ACTION1__',
16957             'lookahead' => 0,
16958             'line' => 285,
16959             'code' => '{
16960             $return = chr(10);
16961             }'
16962             }, 'Parse::RecDescent::Action' )
16963             ],
16964             'line' => 284
16965             }, 'Parse::RecDescent::Production' ),
16966             bless( {
16967             'number' => '9',
16968             'strcount' => 1,
16969             'dircount' => 0,
16970             'uncommit' => undef,
16971             'error' => undef,
16972             'patcount' => 0,
16973             'actcount' => 1,
16974             'items' => [
16975             bless( {
16976             'pattern' => '\\r',
16977             'hashname' => '__STRING1__',
16978             'description' => '\'\\\\r\'',
16979             'lookahead' => 0,
16980             'line' => 288
16981             }, 'Parse::RecDescent::Literal' ),
16982             bless( {
16983             'hashname' => '__ACTION1__',
16984             'lookahead' => 0,
16985             'line' => 289,
16986             'code' => '{
16987             $return = \'\';
16988             }'
16989             }, 'Parse::RecDescent::Action' )
16990             ],
16991             'line' => 288
16992             }, 'Parse::RecDescent::Production' ),
16993             bless( {
16994             'number' => '10',
16995             'strcount' => 1,
16996             'dircount' => 0,
16997             'uncommit' => undef,
16998             'error' => undef,
16999             'patcount' => 0,
17000             'actcount' => 1,
17001             'items' => [
17002             bless( {
17003             'pattern' => '\\t',
17004             'hashname' => '__STRING1__',
17005             'description' => '\'\\\\t\'',
17006             'lookahead' => 0,
17007             'line' => 292
17008             }, 'Parse::RecDescent::Literal' ),
17009             bless( {
17010             'hashname' => '__ACTION1__',
17011             'lookahead' => 0,
17012             'line' => 293,
17013             'code' => '{
17014             $return = "\\t";
17015             }'
17016             }, 'Parse::RecDescent::Action' )
17017             ],
17018             'line' => 292
17019             }, 'Parse::RecDescent::Production' ),
17020             bless( {
17021             'number' => '11',
17022             'strcount' => 1,
17023             'dircount' => 0,
17024             'uncommit' => undef,
17025             'error' => undef,
17026             'patcount' => 0,
17027             'actcount' => 1,
17028             'items' => [
17029             bless( {
17030             'pattern' => ' ',
17031             'hashname' => '__STRING1__',
17032             'description' => '\' \'',
17033             'lookahead' => 0,
17034             'line' => 296
17035             }, 'Parse::RecDescent::Literal' ),
17036             bless( {
17037             'hashname' => '__ACTION1__',
17038             'lookahead' => 0,
17039             'line' => 297,
17040             'code' => '{
17041             $return = chr(10);
17042             }'
17043             }, 'Parse::RecDescent::Action' )
17044             ],
17045             'line' => 296
17046             }, 'Parse::RecDescent::Production' ),
17047             bless( {
17048             'number' => '12',
17049             'strcount' => 1,
17050             'dircount' => 0,
17051             'uncommit' => undef,
17052             'error' => undef,
17053             'patcount' => 0,
17054             'actcount' => 1,
17055             'items' => [
17056             bless( {
17057             'pattern' => '\\ ',
17058             'hashname' => '__STRING1__',
17059             'description' => '\'\\\\ \'',
17060             'lookahead' => 0,
17061             'line' => 300
17062             }, 'Parse::RecDescent::Literal' ),
17063             bless( {
17064             'hashname' => '__ACTION1__',
17065             'lookahead' => 0,
17066             'line' => 301,
17067             'code' => '{
17068             $return = \'\';
17069             }'
17070             }, 'Parse::RecDescent::Action' )
17071             ],
17072             'line' => 300
17073             }, 'Parse::RecDescent::Production' ),
17074             bless( {
17075             'number' => '13',
17076             'strcount' => 0,
17077             'dircount' => 0,
17078             'uncommit' => undef,
17079             'error' => undef,
17080             'patcount' => 1,
17081             'actcount' => 1,
17082             'items' => [
17083             bless( {
17084             'pattern' => '\\n',
17085             'hashname' => '__PATTERN1__',
17086             'description' => '/\\\\n/',
17087             'lookahead' => 0,
17088             'rdelim' => '/',
17089             'line' => 304,
17090             'mod' => '',
17091             'ldelim' => '/'
17092             }, 'Parse::RecDescent::Token' ),
17093             bless( {
17094             'hashname' => '__ACTION1__',
17095             'lookahead' => 0,
17096             'line' => 305,
17097             'code' => '{
17098             $return = \'\';
17099             }'
17100             }, 'Parse::RecDescent::Action' )
17101             ],
17102             'line' => 304
17103             }, 'Parse::RecDescent::Production' ),
17104             bless( {
17105             'number' => '14',
17106             'strcount' => 0,
17107             'dircount' => 0,
17108             'uncommit' => undef,
17109             'error' => undef,
17110             'patcount' => 2,
17111             'actcount' => 1,
17112             'items' => [
17113             bless( {
17114             'pattern' => '\\\\',
17115             'hashname' => '__PATTERN1__',
17116             'description' => '/\\\\\\\\/',
17117             'lookahead' => 0,
17118             'rdelim' => '/',
17119             'line' => 308,
17120             'mod' => '',
17121             'ldelim' => '/'
17122             }, 'Parse::RecDescent::Token' ),
17123             bless( {
17124             'pattern' => '\\n',
17125             'hashname' => '__PATTERN2__',
17126             'description' => '/\\\\n/',
17127             'lookahead' => 0,
17128             'rdelim' => '/',
17129             'line' => 308,
17130             'mod' => '',
17131             'ldelim' => '/'
17132             }, 'Parse::RecDescent::Token' ),
17133             bless( {
17134             'hashname' => '__ACTION1__',
17135             'lookahead' => 0,
17136             'line' => 309,
17137             'code' => '{
17138             $return = \'\'
17139             }'
17140             }, 'Parse::RecDescent::Action' )
17141             ],
17142             'line' => 308
17143             }, 'Parse::RecDescent::Production' ),
17144             bless( {
17145             'number' => '15',
17146             'strcount' => 1,
17147             'dircount' => 0,
17148             'uncommit' => undef,
17149             'error' => undef,
17150             'patcount' => 0,
17151             'actcount' => 1,
17152             'items' => [
17153             bless( {
17154             'pattern' => '\\(',
17155             'hashname' => '__STRING1__',
17156             'description' => '\'\\\\(\'',
17157             'lookahead' => 0,
17158             'line' => 312
17159             }, 'Parse::RecDescent::Literal' ),
17160             bless( {
17161             'hashname' => '__ACTION1__',
17162             'lookahead' => 0,
17163             'line' => 313,
17164             'code' => '{
17165             $return = \'(\';
17166             }'
17167             }, 'Parse::RecDescent::Action' )
17168             ],
17169             'line' => 312
17170             }, 'Parse::RecDescent::Production' ),
17171             bless( {
17172             'number' => '16',
17173             'strcount' => 1,
17174             'dircount' => 0,
17175             'uncommit' => undef,
17176             'error' => undef,
17177             'patcount' => 0,
17178             'actcount' => 1,
17179             'items' => [
17180             bless( {
17181             'pattern' => '\\)',
17182             'hashname' => '__STRING1__',
17183             'description' => '\'\\\\)\'',
17184             'lookahead' => 0,
17185             'line' => 316
17186             }, 'Parse::RecDescent::Literal' ),
17187             bless( {
17188             'hashname' => '__ACTION1__',
17189             'lookahead' => 0,
17190             'line' => 317,
17191             'code' => '{
17192             $return = \')\';
17193             }'
17194             }, 'Parse::RecDescent::Action' )
17195             ],
17196             'line' => 316
17197             }, 'Parse::RecDescent::Production' ),
17198             bless( {
17199             'number' => '17',
17200             'strcount' => 0,
17201             'dircount' => 0,
17202             'uncommit' => undef,
17203             'error' => undef,
17204             'patcount' => 1,
17205             'actcount' => 1,
17206             'items' => [
17207             bless( {
17208             'pattern' => '[\\r\\t\\n\\\\ ]',
17209             'hashname' => '__PATTERN1__',
17210             'description' => '/[\\\\r\\\\t\\\\n\\\\\\\\ ]/',
17211             'lookahead' => 0,
17212             'rdelim' => '/',
17213             'line' => 330,
17214             'mod' => '',
17215             'ldelim' => '/'
17216             }, 'Parse::RecDescent::Token' ),
17217             bless( {
17218             'hashname' => '__ACTION1__',
17219             'lookahead' => 0,
17220             'line' => 331,
17221             'code' => '{
17222             $return = $item[1];
17223             }'
17224             }, 'Parse::RecDescent::Action' )
17225             ],
17226             'line' => 329
17227             }, 'Parse::RecDescent::Production' ),
17228             bless( {
17229             'number' => '18',
17230             'strcount' => 0,
17231             'dircount' => 0,
17232             'uncommit' => undef,
17233             'error' => undef,
17234             'patcount' => 1,
17235             'actcount' => 1,
17236             'items' => [
17237             bless( {
17238             'pattern' => '([^()\\r\\t\\n\\\\ ]+)',
17239             'hashname' => '__PATTERN1__',
17240             'description' => '/([^()\\\\r\\\\t\\\\n\\\\\\\\ ]+)/',
17241             'lookahead' => 0,
17242             'rdelim' => '/',
17243             'line' => 334,
17244             'mod' => '',
17245             'ldelim' => '/'
17246             }, 'Parse::RecDescent::Token' ),
17247             bless( {
17248             'hashname' => '__ACTION1__',
17249             'lookahead' => 0,
17250             'line' => 335,
17251             'code' => '{
17252             $return = $item[1];
17253             }'
17254             }, 'Parse::RecDescent::Action' )
17255             ],
17256             'line' => 334
17257             }, 'Parse::RecDescent::Production' )
17258             ],
17259             'name' => 'valuechar',
17260             'vars' => '',
17261             'line' => 251
17262             }, 'Parse::RecDescent::Rule' )
17263             }
17264             }, 'Parse::RecDescent' );
17265             }