Branch Coverage

blib/lib/Hash/Weighted/Categorize/Parser.pm
Criterion Covered Total %
branch 66 690 9.5


line true false branch
24 1 0 unless ('Parse::Eyapp::Driver'->can('YYParse'))
2072 20 0 unless $class->isa('Parse::Eyapp::Node')
0 0 if (ref $_[0]) { }
0 4 if (defined $_[0])
0 4 unless $self->input and defined ${$self->input;}
0 0 unless $index
0 0 unless looks_like_number $index
0 0 if $newaction and reftype $newaction eq 'CODE'
0 0 if $_[0]->YYBuildingTree
0 0 if $_[0]->YYBuildingTree
0 0 if ($self->YYIssemantic($_))
0 0 if $self->YYIsterm($_)
0 0 if (ref $ch eq $PREFIX . '_PAREN')
0 0 unless ref $ch
0 0 if $_[0]->YYBuildingTree
0 0 if $_[0]->YYBuildingTree
0 0 if ($self->YYIssemantic($_))
0 0 if $self->YYIsterm($_)
0 0 if (ref $ch eq $PREFIX . '_PAREN')
0 0 unless ref $ch
0 0 if ($self->YYIssemantic($_))
0 0 if UNIVERSAL::can($PREFIX . 'TERMINAL', 'save_attributes')
0 0 if ($self->YYIsterm($_))
0 0 unless (UNIVERSAL::isa($ch, 'Parse::Eyapp::Node'))
0 0 if (UNIVERSAL::isa($ch, $PREFIX . '_PAREN'))
0 0 if $_ =~ qr/@/
0 0 unless ref $ch
0 0 unless $name =~ /${lhs}_\d+$/
0 0 if ($childisterminal and not $finalclass->isa($PREFIX . 'TERMINAL'))
0 0 if ($bypass and @children == 1)
0 0 if ($self->YYIsterm($_))
0 0 if (UNIVERSAL::isa($ch, $PREFIX . '_PAREN'))
0 0 if (UNIVERSAL::isa($ch, $PREFIX . '_CODE'))
0 0 unless ref $ch
0 0 unless $lhs =~ /^\@[0-9]+\-([0-9]+)$/
0 0 unless exists $_[$dotpos] and UNIVERSAL::isa($_[$dotpos], 'CODE')
0 0 if defined $code
0 0 if (UNIVERSAL::isa($code, 'CODE')) { }
0 0 if (unpack('A1', $lhs) eq '@') { }
0 0 if @_
0 0 if @_
0 0 if @_
0 0 if @_
0 0 if @_
0 0 unless exists $$self{'USER'}
0 0 if exists $$state{'ACTIONS'}
0 0 if ($actions{$_} > 0)
0 0 if exists $$state{'DEFAULT'}
0 0 if (keys %reduce)
0 0 if @_
0 0 if @_
0 0 if reftype $state and reftype $state eq 'ARRAY'
0 0 if exists $$stateentry{'ACTIONS'}{$token}
0 0 if (defined $token)
0 0 if exists $$stateentry{'DEFAULT'}
0 0 unless looks_like_number $index
0 0 wantarray ? :
0 0 if ($index)
0 0 wantarray ? :
0 0 if ($_[0] eq 'shift') { }
0 0 if ($_[1] eq 'shift') { }
0 0 if ($self->YYIs($syntaxVariable)) { }
0 0 wantarray ? :
0 0 if (@_)
0 0 wantarray ? :
0 0 if ($file)
0 0 unless defined $$self{'INPUTFILE'}
0 0 if (ref $self) { }
0 0 if @_
0 0 unless exists $$self{'TERMS'}{$symbol}
0 0 if @_
0 0 if @_
0 0 unless defined $$self{'LEX'}
0 1 if (ref $self) { }
0 0 if $t eq ''
0 0 if (looks_like_number $spec) { }
0 0 if @_
0 0 wantarray ? :
0 0 unless $conflictName
0 0 if ($lhs) { }
0 0 unless $$self{'ERROR'}
0 4 unless ($$self{'ERROR'})
0 0 unless $$self{'LEX'} and reftype($$self{'LEX'}) eq 'CODE'
0 4 unless ($$self{'LEX'})
0 0 if $@
0 4 if ($$self{'DEBUG'}) { }
0 0 wantarray ? :
0 1 if @_
0 0 if ($prompt)
0 0 unless defined $$self{'PROMPT'}
0 0 if (ref $self) { }
0 0 unless looks_like_number $index
0 0 unless looks_like_number $index
0 0 if reftype $currentprod
0 0 unless looks_like_number $index
0 0 unless looks_like_number $index
0 0 wantarray ? :
0 0 if ($index)
0 0 wantarray ? :
0 0 if $index < 0 and -$index <= @{$$self{'STACK'};}
0 0 unless defined $state
0 0 unless looks_like_number $action
0 0 unless ref $token
0 0 unless defined $action
0 0 $cS ? :
0 0 unless @conflictStates
0 0 unless (looks_like_number $actionnum)
0 0 unless (looks_like_number $action)
0 0 unless defined $token
0 0 unless ref $token
0 0 if (exists $$self{'STATES'}[$conflictstate]{'ACTIONS'} and $$self{'STATES'}[$conflictstate]{'ACTIONS'}{$_} >= 0)
0 0 unless defined $action
0 0 $cS ? :
0 0 unless $cs
0 0 unless (looks_like_number $actionnum)
0 0 unless (looks_like_number $action)
0 0 unless defined $token
0 0 unless ref $token
0 0 if (exists $$self{'STATES'}[$conflictstate]{'ACTIONS'} and $$self{'STATES'}[$conflictstate]{'ACTIONS'}{$_} >= 0)
0 0 $cS ? :
0 0 unless @conflictStates
0 0 unless defined $token
0 0 unless ref $token
0 0 if (defined $$self{'CONFLICT'}{$conflictName}{$_}) { }
0 0 looks_like_number $n ? :
0 0 if $newaction{$n} and reftype($newaction{$n}) eq 'CODE'
0 0 if $length
0 0 if (defined $nextstate)
0 0 if (@$stack > $length)
0 0 if 'ARRAY' eq reftype $index
0 0 unless looks_like_number $index
0 0 if ($index)
0 0 unless $length <= 0
0 0 if $_[1]
0 0 if @_
0 17 unless exists $$checklist{$prm}
0 17 unless ref $value eq $$checklist{$prm}
0 8 unless exists $$outhash{$_}
0 0 if 'Parse::Eyapp::Driver'->can('_DBParse')
0 0 if (/^my\s+\$lex;##!!##$/ .. /^\s*}\s*#\s*_Parse\s*$/)
0 0 if (open DRV, "<$fname") { }
0 0 if (exists $$yydata{'ERRMSG'})
0 0 if ($attr) { }
0 0 if (blessed $attr and $attr->can('str')) { }
0 0 elsif (ref $attr eq 'ARRAY') { }
0 0 $_ ne '' ? :
0 0 @expected > 1 ? :
0 0 if (@expected)
0 0 if $lineno > 1
0 0 if (blessed $attr and $attr->can('line')) { }
0 0 elsif (ref $attr eq 'ARRAY') { }
0 416 if (exists $conflictiveStates{$stateno})
222 102 unless (defined $$token)
96 0 exists $$actions{'DEFAULT'} ? :
228 96 exists $$actions{'ACTIONS'}{$$token} ? :
324 92 if (exists $$actions{'ACTIONS'}) { }
0 222 if ($$errstatus)
218 4 if defined $$token and $$token ne ''
222 194 if ($act > 0)
4 190 unless $act
0 0 unless $lhs =~ /^\@[0-9]+\-([0-9]+)$/
0 194 if (unpack('A1', $lhs) eq '@')
189 5 $$dotpos ? :
4 0 @sempar ? :
190 4 $code ? :
4 190 if ($$check eq 'ACCEPT')
0 190 if ($$check eq 'ABORT')
190 0 unless ($$check eq 'ERROR')
416 0 if (defined $act)
0 0 unless $$errstatus
0 0 unless ($$errstatus)
0 0 if ($$token eq '')
0 0 if ($$errstatus == 3)
0 0 unless (@$stack)
0 0 if @_ > 1
0 0 ref $_[0]->attr eq 'ARRAY' ? :
0 0 if $package & $package->can('help')
0 0 if @_
0 0 unless defined $$self{'ERROR'}
0 1 if (ref $self) { }
4 646 if @_
0 4 if (ref $_[0]) { }
4 646 if (@_)
0 650 unless defined $$self{'INPUT'}
650 0 if (ref $self) { }
4 0 if @_
0 4 unless defined $$self{'TOKENLINE'}
4 0 if (ref $self) { }
0 0 if $help
0 0 if $debug
0 0 if not $file and @ARGV
0 0 if defined $slurp
0 0 if defined $prompt
0 0 unless defined $_[0]
0 0 if (ref $_[0]) { }
0 0 if ($commandinput) { }
0 0 elsif ($inputfromfile) { }
0 0 if (defined $TERMINALinfo)
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) { }
0 0 if ($showtree)
0 0 if ($@) { }
0 0 if ($yaml and ref $tree)
0 0 unless defined $extension and $tree->can($extension)
0 0 if not defined $sfile and defined $file
0 0 if ($dot and blessed $tree)
0 0 if (my $ne = $parser->YYNberr > 0) { }
0 1 if exists $$self{'VERSION'} and $$self{'VERSION'} < $COMPATIBLE
0 1 if ref $class
0 1 unless $$self{'ERROR'}
1 0 unless ($$self{'ERROR'})
1 0 unless ($$self{'LEX'})
0 0 unless open $f, $fn
0 0 if $msg
0 0 if ($fn and -r $fn) { }
0 0 if (ref $self) { }
0 2 if ref $class
0 2 if (@_)
1 1 if defined $$classlexer
1 0 if (defined $$classlexer)
222 0 if @_
0 222 unless defined $$self{'TOKENLINE'}
222 0 if (ref $self) { }
2077 1 0 unless ('Parse::Eyapp::Node'->can('m'))
3116 0 0 unless defined $file
0 0 unless UNIVERSAL::can($self, 'children')
0 0 if @_
0 0 unless UNIVERSAL::can($self, 'children') and @{$$self{'children'};}
0 0 if $p->pattern->($_[0], $_[1], $index, $p)
0 0 unless (ref $node and UNIVERSAL::can($node, 'children'))
0 0 if $p->pattern->($_[0], $_[1], $index, $p)
0 0 if not defined $_ or &$match($_)
0 0 if $INDENT >= 0 and $root->can('info')
0 0 if defined $information
0 0 unless ref $tree1 eq ref $tree2
0 0 if exists $$tree1{$_} and not exists $$tree2{$_}
0 0 if exists $$tree2{$_} and not exists $$tree1{$_}
0 0 if defined $$tree1{$_} and not defined $$tree2{$_}
0 0 if defined $$tree2{$_} and not defined $$tree1{$_}
0 0 unless $handler{$_}($$tree1{$_}, $$tree2{$_})
0 0 unless @children1 == @children2
0 0 unless _equal($_, $ch2)
0 0 if ref $_[0] eq 'CODE'
0 0 if (s/\A([A-Za-z_][A-Za-z0-9_:]*)\s*([),])/$1()$2/)
0 0 if (s/\A([A-Za-z_][A-Za-z0-9_:]*)\s+([A-Za-z_])/$1()$2/)
0 0 if (s/\A([A-Za-z_][A-Za-z0-9_:]*)\s*$/$1()/)
0 0 if (s/\A([A-Za-z_][A-Za-z0-9_:]*)//)
0 0 if (s/\A[(]//)
0 0 if s/\A,//
0 0 unless @index
0 0 unless defined $class and $class =~ /^[a-zA-Z_][\w:]*$/
0 0 if (s/\A[)]//)
0 0 unless $_
0 0 unless s/\A\s+//
0 0 if @index
0 0 unless $_->isa('Parse::Eyapp::Node')
0 0 if (defined $handler and UNIVERSAL::isa($handler, 'CODE'))
0 0 wantarray ? :
0 0 if $res
0 0 if ($INDENT >= 0 and UNIVERSAL::can($self, 'footnote'))
0 0 if defined $_
0 0 if $INDENT >= 0 and UNIVERSAL::can($self, 'info')
0 0 if defined $information
0 0 if ($INDENT >= 0 and $res)
0 0 if @children
0 0 if $INDENT > 1 and $class =~ tr/\n// > $LINESEP
0 0 if @children
0 0 if ($INDENT > 0) { }
0 0 ref $_ eq 'CODE' ? :
0 0 unless UNIVERSAL::can($self, 'child')
0 0 unless defined $index
0 0 if defined $value
0 0 unless UNIVERSAL::can($self, 'children')
0 0 if @_
0 0 unless ref $match eq 'CODE' and @_ > 0
0 0 unless UNIVERSAL::can($self, 'children') and $self->children > 0
0 0 if $_ == $child
0 0 if ($i == $self->children)
0 0 if (ref $child)
0 0 unless $child =~ /\d+/ and $child < $numchildren
0 0 unless /\d+/ and $_ < $t->children
0 0 unless @_ > 1
0 0 if defined($key = firstval(sub { ; } , keys %handler))
0 0 if @_
0 0 unless $file =~ /\.dot$/
0 0 if ($file) { }
0 0 if ref $_[-1] eq 'CODE'
0 0 unless $newnodeclass->isa('Parse::Eyapp::Node')
0 0 if (defined $handler and UNIVERSAL::isa($handler, 'CODE'))
0 0 if (UNIVERSAL::can($node, 'info')) { }
0 0 unless UNIVERSAL::can($self, 'children') and $self->children > 0
0 0 if $_ == $child
0 0 if ($i == $self->children)
0 0 if (ref $child)
0 0 unless $child =~ /\d+/ and $child < $numchildren
0 0 unless UNIVERSAL::can($self, 'children') and $self->children > 0
0 0 if $_ == $child
0 0 if ($i == $self->children)
0 0 if (ref $child)
0 0 unless $child =~ /\d+/ and $child < $numchildren
0 0 unless UNIVERSAL::can($self, 'children') and @{$$self{'children'};}
0 0 unless my(@patterns) = @_
0 0 unless $a = first(sub { ; } , @_)
0 0 if $$pattern{'PATTERN'}($n{'node'})
0 0 if defined $f
0 0 if (@{$$mn{'patterns'};})
0 0 wantarray ? :
0 0 if exists $cache{$key}
0 0 unless $$_{'NAME'}
0 0 if @_
0 0 ref $_ eq 'CODE' ? :
0 0 unless UNIVERSAL::can($self, 'children')
0 0 unless ref $_[0]
0 0 if (defined $DELIMITER and exists $match_del{$DELIMITER}) { }
0 0 wantarray ? :
0 0 if (ref $_ eq 'CODE') { }
0 0 elsif (defined $_) { }
0 0 if (defined $_[1])
0 0 if ($type)
3121 1 0 unless ('Parse::Eyapp::YATW'->can('m'))
3420 0 0 if $_ == $before
0 0 wantarray ? :
0 0 if ($task eq 'unshift') { }
0 0 elsif ($task eq 'insert_before') { }
0 0 unless defined $father
0 0 if defined $f
0 0 if (&$pattern($n{'node'}))
0 0 wantarray ? :
0 0 if defined splice(@{$$node{'children'};}, $i, 1)
0 0 if (UNIVERSAL::isa($node->child($i), 'Parse::Eyapp::Node::DELETE'))
0 0 if @_
0 0 unless ref $args{'PATTERN'} eq 'CODE'
0 0 if (defined($a = invalid_keys(\%_new_yatw, \%args)))
0 0 if @_
0 0 unless my $node = $_[0]
0 0 if $self->pattern->($_[0], $_[1], $index, $self)
0 0 unless (ref $node and UNIVERSAL::can($node, 'children'))
0 0 if ($self->pattern->($_[0], $_[1], $index, $self))
0 0 unless defined $k
0 0 unless defined $ancestor
3425 0 0 defined pos $_ ? :
0 0 defined $_ ? :
3465 0 1 if ref $class
3467 0 1 unless 'Hash::Weighted::Categorize::Parser'->isa('Parse::Eyapp::Driver')