| line |
true |
false |
branch |
|
72
|
0 |
133 |
if exists $$self{'VERSION'} and $$self{'VERSION'} < $COMPATIBLE |
|
78
|
0 |
133 |
if ref $class |
|
81
|
132 |
1 |
unless ($$self{'ERROR'}) |
|
83
|
0 |
132 |
unless $$self{'ERROR'} |
|
86
|
132 |
1 |
unless ($$self{'LEX'}) |
|
102
|
0 |
158 |
unless ($$self{'ERROR'}) |
|
104
|
0 |
0 |
unless $$self{'ERROR'} |
|
107
|
0 |
158 |
unless ($$self{'LEX'}) |
|
109
|
0 |
0 |
unless $$self{'LEX'} and reftype($$self{'LEX'}) eq 'CODE' |
|
112
|
0 |
158 |
if ($$self{'DEBUG'}) { } |
|
115
|
0 |
0 |
if $@ |
|
126
|
34 |
1993 |
unless exists $$self{'USER'} |
|
179
|
0 |
0 |
if $index < 0 and -$index <= @{$$self{'STACK'};} |
|
193
|
0 |
0 |
if ($index) |
|
194
|
0 |
0 |
unless looks_like_number $index |
|
195
|
0 |
0 |
wantarray ? : |
|
198
|
0 |
0 |
wantarray ? : |
|
218
|
0 |
0 |
if ($index) |
|
220
|
0 |
0 |
if 'ARRAY' eq reftype $index |
|
221
|
0 |
0 |
unless looks_like_number $index |
|
242
|
0 |
0 |
unless looks_like_number $index |
|
244
|
0 |
0 |
unless looks_like_number $index |
|
248
|
0 |
0 |
if reftype $currentprod |
|
258
|
0 |
0 |
if ($lhs) { } |
|
278
|
0 |
0 |
if ($index) |
|
279
|
0 |
0 |
unless looks_like_number $index |
|
280
|
0 |
0 |
wantarray ? : |
|
282
|
0 |
0 |
wantarray ? : |
|
291
|
0 |
0 |
wantarray ? : |
|
300
|
0 |
0 |
if (@_) |
|
302
|
0 |
0 |
wantarray ? : |
|
304
|
0 |
0 |
wantarray ? : |
|
312
|
0 |
0 |
unless $length <= 0 |
|
315
|
0 |
0 |
if $_[1] |
|
331
|
0 |
0 |
unless defined $state |
|
334
|
0 |
0 |
unless looks_like_number $action |
|
335
|
0 |
0 |
unless ref $token |
|
377
|
0 |
0 |
if (looks_like_number $spec) { } |
|
381
|
0 |
0 |
if $t eq '' |
|
425
|
0 |
0 |
wantarray ? : |
|
433
|
0 |
0 |
unless $conflictName |
|
461
|
0 |
0 |
if @_ |
|
473
|
0 |
0 |
if @_ |
|
498
|
0 |
0 |
unless defined $action |
|
509
|
0 |
0 |
$cS ? : |
|
514
|
0 |
0 |
unless $cs |
|
517
|
0 |
0 |
unless (looks_like_number $action) |
|
519
|
0 |
0 |
unless (looks_like_number $actionnum) |
|
525
|
0 |
0 |
unless defined $token |
|
526
|
0 |
0 |
unless ref $token |
|
529
|
0 |
0 |
if (exists $$self{'STATES'}[$conflictstate]{'ACTIONS'} and $$self{'STATES'}[$conflictstate]{'ACTIONS'}{$_} >= 0) |
|
542
|
0 |
0 |
unless defined $action |
|
550
|
0 |
0 |
$cS ? : |
|
552
|
0 |
0 |
unless @conflictStates |
|
561
|
0 |
0 |
unless (looks_like_number $action) |
|
563
|
0 |
0 |
unless (looks_like_number $actionnum) |
|
569
|
0 |
0 |
unless defined $token |
|
570
|
0 |
0 |
unless ref $token |
|
573
|
0 |
0 |
if (exists $$self{'STATES'}[$conflictstate]{'ACTIONS'} and $$self{'STATES'}[$conflictstate]{'ACTIONS'}{$_} >= 0) |
|
590
|
0 |
0 |
$cS ? : |
|
592
|
0 |
0 |
unless @conflictStates |
|
598
|
0 |
0 |
unless defined $token |
|
599
|
0 |
0 |
unless ref $token |
|
602
|
0 |
0 |
if (defined $$self{'CONFLICT'}{$conflictName}{$_}) { } |
|
634
|
0 |
0 |
if ($self->YYIs($syntaxVariable)) { } |
|
635
|
0 |
0 |
if ($_[0] eq 'shift') { } |
|
643
|
0 |
0 |
if ($_[1] eq 'shift') { } |
|
656
|
0 |
0 |
if reftype $state and reftype $state eq 'ARRAY' |
|
659
|
0 |
0 |
if (defined $token) |
|
660
|
0 |
0 |
if exists $$stateentry{'ACTIONS'}{$token} |
|
663
|
0 |
0 |
if exists $$stateentry{'DEFAULT'} |
|
674
|
0 |
0 |
unless $index |
|
677
|
0 |
0 |
unless looks_like_number $index |
|
679
|
0 |
0 |
if $newaction and reftype $newaction eq 'CODE' |
|
689
|
0 |
0 |
looks_like_number $n ? : |
|
691
|
0 |
0 |
if $newaction{$n} and reftype($newaction{$n}) eq 'CODE' |
|
743
|
0 |
1257 |
unless looks_like_number $index |
|
766
|
555 |
871 |
unless exists $$self{'TERMS'}{$symbol} |
|
767
|
0 |
871 |
if @_ |
|
775
|
0 |
1262 |
if @_ |
|
782
|
0 |
1717 |
if @_ |
|
797
|
0 |
0 |
if @_ |
|
804
|
0 |
0 |
if @_ |
|
811
|
0 |
499 |
if @_ |
|
818
|
0 |
0 |
if @_ |
|
843
|
0 |
1075 |
if @_ |
|
851
|
7032 |
1589 |
unless $class->isa('Parse::Eyapp::Node') |
|
863
|
0 |
2 |
if @_ > 1 |
|
923
|
723 |
269 |
unless (UNIVERSAL::isa($ch, 'Parse::Eyapp::Node')) |
|
924
|
417 |
306 |
if ($self->YYIssemantic($_)) |
|
931
|
304 |
2 |
if ($self->YYIsterm($_)) |
|
932
|
0 |
304 |
if UNIVERSAL::can($PREFIX . 'TERMINAL', 'save_attributes') |
|
937
|
0 |
271 |
if (UNIVERSAL::isa($ch, $PREFIX . '_PAREN')) |
|
943
|
0 |
271 |
if $_ =~ qr/@/ |
|
944
|
2 |
269 |
unless ref $ch |
|
949
|
8 |
491 |
if ($bypass and @children == 1) |
|
954
|
8 |
0 |
unless $name =~ /${lhs}_\d+$/ |
|
959
|
2 |
6 |
if ($childisterminal and not $finalclass->isa($PREFIX . 'TERMINAL')) |
|
984
|
175 |
156 |
if ($self->YYIsterm($_)) |
|
990
|
0 |
156 |
if (UNIVERSAL::isa($ch, $PREFIX . '_PAREN')) |
|
996
|
10 |
146 |
if (UNIVERSAL::isa($ch, $PREFIX . '_CODE')) |
|
1001
|
0 |
146 |
unless ref $ch |
|
1005
|
10 |
177 |
if (unpack('A1', $lhs) eq '@') { } |
|
1006
|
0 |
10 |
unless $lhs =~ /^\@[0-9]+\-([0-9]+)$/ |
|
1010
|
0 |
10 |
unless exists $_[$dotpos] and UNIVERSAL::isa($_[$dotpos], 'CODE') |
|
1016
|
169 |
8 |
if (UNIVERSAL::isa($code, 'CODE')) { } |
|
1020
|
0 |
8 |
if defined $code |
|
1039
|
5 |
459 |
if ($self->YYIssemantic($_)) |
|
1045
|
142 |
317 |
if $self->YYIsterm($_) |
|
1046
|
77 |
240 |
if (ref $ch eq $PREFIX . '_PAREN') |
|
1050
|
3 |
237 |
unless ref $ch |
|
1061
|
322 |
0 |
if $_[0]->YYBuildingTree |
|
1071
|
177 |
0 |
if $_[0]->YYBuildingTree |
|
1092
|
337 |
0 |
if $_[0]->YYBuildingTree |
|
1109
|
3 |
236 |
if ($self->YYIssemantic($_)) |
|
1115
|
0 |
236 |
if $self->YYIsterm($_) |
|
1116
|
100 |
136 |
if (ref $ch eq $PREFIX . '_PAREN') |
|
1120
|
8 |
128 |
unless ref $ch |
|
1130
|
239 |
0 |
if $_[0]->YYBuildingTree |
|
1142
|
0 |
0 |
if @_ |
|
1150
|
0 |
0 |
if @_ |
|
1163
|
0 |
0 |
if (@$stack > $length) |
|
1165
|
0 |
0 |
if $length |
|
1169
|
0 |
0 |
if (defined $nextstate) |
|
1188
|
0 |
0 |
if exists $$state{'ACTIONS'} |
|
1194
|
0 |
0 |
if ($actions{$_} > 0) |
|
1200
|
0 |
0 |
if exists $$state{'DEFAULT'} |
|
1202
|
0 |
0 |
if (keys %reduce) |
|
1233
|
21029 |
264 |
if ref $class |
|
1240
|
0 |
21293 |
if (@_) |
|
1244
|
20947 |
346 |
if defined $$classlexer |
|
1253
|
265 |
81 |
if (defined $$classlexer) |
|
1283
|
0 |
2075 |
unless exists $$checklist{$prm} |
|
1285
|
0 |
2075 |
unless ref $value eq $$checklist{$prm} |
|
1291
|
0 |
316 |
unless exists $$outhash{$_} |
|
1300
|
0 |
0 |
if (ref $self) { } |
|
1301
|
0 |
0 |
if @_ |
|
1303
|
0 |
0 |
unless defined $$self{'TOKENLINE'} |
|
1315
|
0 |
0 |
if (ref $self) { } |
|
1316
|
0 |
0 |
if @_ |
|
1318
|
0 |
0 |
unless defined $$self{'TOKENLINE'} |
|
1330
|
0 |
132 |
if (ref $self) { } |
|
1331
|
0 |
0 |
if @_ |
|
1333
|
0 |
0 |
unless defined $$self{'ERROR'} |
|
1352
|
0 |
0 |
if ($fn and -r $fn) { } |
|
1353
|
0 |
0 |
unless open $f, $fn |
|
1359
|
0 |
0 |
if $msg |
|
1366
|
0 |
0 |
if (ref $self) { } |
|
1380
|
0 |
21029 |
if @_ |
|
1381
|
21029 |
0 |
if (ref $self) { } |
|
1382
|
0 |
21029 |
if (@_) |
|
1383
|
0 |
0 |
if (ref $_[0]) { } |
|
1392
|
21029 |
0 |
unless defined $$self{'INPUT'} |
|
1407
|
0 |
0 |
if (ref $self) { } |
|
1409
|
0 |
0 |
if ($file) |
|
1413
|
0 |
0 |
unless defined $$self{'INPUTFILE'} |
|
1426
|
0 |
0 |
if (ref $self) { } |
|
1428
|
0 |
0 |
if ($prompt) |
|
1432
|
0 |
0 |
unless defined $$self{'PROMPT'} |
|
1445
|
0 |
0 |
if (defined $_[0]) |
|
1446
|
0 |
0 |
if (ref $_[0]) { } |
|
1454
|
0 |
0 |
unless $self->input and defined ${$self->input;} |
|
1496
|
0 |
0 |
if $help |
|
1498
|
0 |
0 |
if $debug |
|
1499
|
0 |
0 |
if not $file and @ARGV |
|
1500
|
0 |
0 |
if defined $slurp |
|
1503
|
0 |
0 |
if defined $prompt |
|
1505
|
0 |
0 |
if ($commandinput) { } |
|
|
0 |
0 |
elsif ($inputfromfile) { } |
|
1512
|
0 |
0 |
unless defined $_[0] |
|
1513
|
0 |
0 |
if (ref $_[0]) { } |
|
1522
|
0 |
0 |
if (defined $TERMINALinfo) |
|
1526
|
0 |
0 |
ref $_[0]->attr eq 'ARRAY' ? : |
|
1532
|
0 |
0 |
if (my $ne = $parser->YYNberr > 0) { } |
|
1537
|
0 |
0 |
if ($showtree) |
|
1538
|
0 |
0 |
if ($tree and blessed $tree and $tree->isa('Parse::Eyapp::Node')) { } |
|
|
0 |
0 |
elsif ($tree and ref $tree) { } |
|
|
0 |
0 |
elsif (defined $tree) { } |
|
1550
|
0 |
0 |
if ($yaml and ref $tree) |
|
1554
|
0 |
0 |
if ($@) { } |
|
1562
|
0 |
0 |
if ($dot and blessed $tree) |
|
1564
|
0 |
0 |
unless defined $extension and $tree->can($extension) |
|
1565
|
0 |
0 |
if not defined $sfile and defined $file |
|
1595
|
0 |
0 |
if $package & $package->can('help') |
|
1611
|
0 |
0 |
if (exists $$yydata{'ERRMSG'}) |
|
1621
|
0 |
0 |
if (blessed $attr and $attr->can('str')) { } |
|
|
0 |
0 |
elsif (ref $attr eq 'ARRAY') { } |
|
1628
|
0 |
0 |
if ($attr) { } |
|
1636
|
0 |
0 |
$_ ne '' ? : |
|
1638
|
0 |
0 |
if (@expected) |
|
1639
|
0 |
0 |
@expected > 1 ? : |
|
1644
|
0 |
0 |
if (blessed $attr and $attr->can('line')) { } |
|
|
0 |
0 |
elsif (ref $attr eq 'ARRAY') { } |
|
1653
|
0 |
0 |
if $lineno > 1 |
|
1669
|
0 |
0 |
if 'Parse::Eyapp::Driver'->can('_DBParse') |
|
1674
|
0 |
0 |
if (open DRV, "<$fname") { } |
|
1678
|
0 |
0 |
if (/^my\s+\$lex;##!!##$/ .. /^\s*}\s*#\s*_Parse\s*$/) |
|
1781
|
0 |
21029 |
if (exists $conflictiveStates{$stateno}) |
|
1802
|
10796 |
10233 |
if (exists $$actions{'ACTIONS'}) { } |
|
1805
|
6807 |
3989 |
unless (defined $$token) |
|
1815
|
3917 |
12 |
exists $$actions{'DEFAULT'} ? : |
|
|
6867 |
3929 |
exists $$actions{'ACTIONS'}{$$token} ? : |
|
1828
|
21017 |
12 |
if (defined $act) |
|
1831
|
6797 |
14220 |
if ($act > 0) |
|
1837
|
2 |
6795 |
if ($$errstatus) |
|
1853
|
6639 |
158 |
if defined $$token and $$token ne '' |
|
1872
|
158 |
14062 |
unless $act |
|
1878
|
104 |
14116 |
if (unpack('A1', $lhs) eq '@') |
|
1879
|
0 |
104 |
unless $lhs =~ /^\@[0-9]+\-([0-9]+)$/ |
|
1886
|
13463 |
757 |
$$dotpos ? : |
|
1891
|
2586 |
387 |
@sempar ? : |
|
|
11247 |
2973 |
$code ? : |
|
1897
|
158 |
14062 |
if ($$check eq 'ACCEPT') |
|
1906
|
0 |
14062 |
if ($$check eq 'ABORT') |
|
1919
|
14062 |
0 |
unless ($$check eq 'ERROR') |
|
1950
|
2 |
10 |
unless ($$errstatus) |
|
1954
|
0 |
2 |
unless $$errstatus |
|
1973
|
10 |
2 |
if ($$errstatus == 3) |
|
1975
|
0 |
10 |
if ($$token eq '') |
|
2001
|
0 |
12 |
unless (@$stack) |
|
2030
|
0 |
132 |
if (ref $self) { } |
|
2032
|
0 |
0 |
if @_ |
|
2034
|
0 |
0 |
unless defined $$self{'LEX'} |