Branch Coverage

blib/lib/MarpaX/G4/Symboltable.pm
Criterion Covered Total %
branch 19 98 19.3


line true false branch
37 0 0 unless exists $self->{'symboltable'}{$rulename}
45 0 85 if $rulename eq "EOF" and not exists $self->{'symboltable'}{$rulename}
46 18 67 unless defined $rulename and exists $self->{'symboltable'}{$rulename}
53 0 28 unless exists $self->{'symboltable'}{$rulename}
55 28 0 defined $status ? :
87 0 23 if $rulename eq "EOF" and not exists $self->{'symboltable'}{$rulename}
89 0 23 unless exists $self->{'symboltable'}{$rulename}
91 9 14 exists $symbol->{'generationstatus'} ? :
101 0 1 if ref $tree ne "ARRAY"
107 0 16 if ref $rule ne "HASH"
110 14 2 if (exists $rule->{'name'})
114 1 13 unless defined $self->{'startrule'}
117 2 0 if (exists $rule->{'grammarspec'})
121 0 0 if (exists $rule->{'comment'})
144 14 0 if (exists $rule->{'rightsides'})
145 0 14 if exists $symboltable->{$name}
157 14 0 if $ruleindex != -1
179 0 0 if (ref $e->{'token'} eq '') { }
185 0 0 if (ref $e eq 'HASH' and exists $e->{'token'}) { }
210 0 0 if (ref $token eq "HASH" and exists $token->{'type'} and $token->{'type'} eq "rulegroup")
215 0 0 if (ref $token eq "HASH" and exists $token->{'type'} and $token->{'type'} eq "tokengroup")
220 0 0 if (ref $token eq "HASH" and exists $token->{'token'})
226 0 0 if (ref $token eq "")
230 0 0 if (ref $token eq "HASH" and exists $token->{'type'} and $token->{'type'} eq "literal")
233 0 0 if (ref $token eq "HASH" and exists $token->{'type'} and $token->{'type'} eq "class")
236 0 0 if (ref $token eq "HASH" and exists $token->{'type'} and $token->{'type'} eq "regex")
239 0 0 if (ref $token eq "HASH" and exists $token->{'type'} and $token->{'type'} eq "range")
242 0 0 if (ref $token eq "HASH" and exists $token->{'type'} and $token->{'type'} eq "value")
245 0 0 if (ref $token eq "HASH" and exists $token->{'comment'})
248 0 0 if (ref $token eq "HASH" and exists $token->{'action'})
270 0 0 if (exists $nonterminal->{'rhs'})
291 0 0 if (ref $rule ne "HASH" or not exists $rule->{'rightsides'})
300 0 0 unless defined $rhs
302 0 0 if (ref $rhs ne "ARRAY")
330 0 0 unless (exists $temp->{$s})
335 0 0 if ($len < 0)
341 0 0 if $len > 0
358 0 0 unless (exists $symboltable->{$sn})
389 0 0 if (exists $rule->{'name'})
397 0 0 if (scalar @$symbolreferences > 0)
401 0 0 if exists $rule->{'isLexeme'} or exists $rule->{'grammarstate'} and $rule->{'grammarstate'} eq "lexer"
402 0 0 if exists $rule->{'type'} and $rule->{'type'} eq "fragment"
403 0 0 exists $rule->{'redirect'} ? :
433 0 0 if (exists $rule->{'name'})
437 0 0 if ($name eq "TILDE_OPERATOR_PART")
441 0 0 if (scalar @$symbolreferences == 0)
444 0 0 if exists $rule->{'isLexeme'} or exists $rule->{'grammarstate'} and $rule->{'grammarstate'} eq "lexer"
445 0 0 if exists $rule->{'type'} and $rule->{'type'} eq "fragment"
446 0 0 exists $rule->{'redirect'} ? :