| line | true | false | branch | 
 
| 48 | 68 | 37 | if $self->done | 
 
| 49 | 0 | 37 | unless $self->parse_assignment or $self->parse_assertion | 
 
| 59 | 78 | 206 | if $self->{'line'} =~ s/^$WS// | 
 
| 60 | 0 | 206 | if $self->{'line'} =~ s/^$HASH$ANY*// | 
 
| 61 | 206 | 0 | if ($self->{'line'} =~ s/^($TOKENS)//) { } | 
 
| 72 | 23 | 14 | unless $self->peek(2) eq '=' | 
 
| 75 | 4 | 10 | if not $self->done and $self->peek eq ';' | 
 
| 76 | 0 | 14 | unless $self->done | 
 
| 84 | 0 | 23 | unless grep /^$COMP$/, @{$self->tokens;} | 
 
| 88 | 2 | 0 | $token eq '~~' ? : | 
 
|  | 21 | 2 | $token eq '==' ? : | 
 
| 93 | 3 | 20 | if not $self->done and $self->peek eq ';' | 
 
| 94 | 0 | 23 | unless $self->done | 
 
| 102 | 15 | 8 | @{$self->points;} ? : | 
 
| 113 | 9 | 90 | if ($token =~ /^$NUM$/) { } | 
 
|  | 21 | 69 | elsif ($token =~ /^$QSTR$/) { } | 
 
|  | 33 | 36 | elsif ($token =~ /^$WORD$/) { } | 
 
|  | 36 | 0 | elsif ($token =~ /^$POINT$/) { } | 
 
| 122 | 10 | 23 | if (not $self->done and $self->peek eq '(') | 
 
| 128 | 0 | 36 | unless $token =~ /($WORD)/ | 
 
| 137 | 25 | 74 | if (not $self->done and $self->peek eq '.') | 
 
| 141 | 53 | 21 | @$calls == 1 ? : | 
 
| 148 | 0 | 10 | unless $self->pop eq '(' | 
 
| 152 | 4 | 10 | if $self->peek eq ',' | 
 
| 170 | 0 | 12 | unless $string_block =~ s/^$block_marker\ +(.*?)\ *\n//g | 
 
| 175 | 0 | 32 | if $string_block =~ s/^\n+// | 
 
| 177 | 32 | 0 | if ($string_block =~ s/\A$point_marker\ +($WORD):\ +(.*)\n//g or $string_block =~ s/\A$point_marker\ +($WORD)\n(.*?)(?=^$point_marker|\z)//gms) { } | 
 
| 188 | 6 | 26 | $value =~ s/(\r?\n)\s*\z// ? : | 
 
| 189 | 32 | 0 | if (length $value) | 
 
| 194 | 0 | 32 | if ($key =~ /^(ONLY|SKIP|LAST)$/) | 
 
| 200 | 7 | 2 | if @$data | 
 
| 205 | 285 | 199 | @{$self->{'tokens'};} ? : | 
 
| 211 | 0 | 323 | if $index > @{$self->{'tokens'};} | 
 
| 218 | 0 | 192 | if $count > @{$self->{'tokens'};} | 
 
| 225 | 0 | 0 | if $message |