File Coverage

blib/lib/MarpaX/Database/Terminfo/String.pm
Criterion Covered Total %
statement 34 34 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod 2 2 100.0
total 45 45 100.0


line stmt bran cond sub pod time code
1 16     16   67 use strict;
  16         22  
  16         456  
2 16     16   57 use warnings FATAL => 'all';
  16         20  
  16         760  
3              
4             #
5             # This module is sharing the same mechanism as MarpaX::Database::Terminfo
6             #
7             package MarpaX::Database::Terminfo::String;
8 16     16   63 use base 'MarpaX::Database::Terminfo';
  16         18  
  16         1308  
9 16     16   5959 use MarpaX::Database::Terminfo::String::Grammar;
  16         30  
  16         450  
10 16     16   92 use Marpa::R2;
  16         16  
  16         305  
11              
12             # ABSTRACT: Parse a terminfo string using Marpa
13              
14 16     16   51 use Log::Any qw/$log/;
  16         20  
  16         77  
15 16     16   1680 use Carp qw/croak/;
  16         22  
  16         2570  
16              
17             our $VERSION = '0.011'; # VERSION
18              
19              
20              
21             # ----------------------------------------------------------------------------------------
22              
23             sub new {
24 2     2 1 3 my $class = shift;
25              
26 2         3 my $self = {};
27              
28 2         18 my $grammarObj = MarpaX::Database::Terminfo::String::Grammar->new(@_);
29 2         8 my $grammar_option = $grammarObj->grammar_option();
30 2         5 $grammar_option->{bless_package} = __PACKAGE__;
31 2         35 $self->{_G} = Marpa::R2::Scanless::G->new($grammar_option);
32              
33 2         6735 my $recce_option = $grammarObj->recce_option();
34 2         7 $recce_option->{grammar} = $self->{_G};
35 2         14 $self->{_R} = Marpa::R2::Scanless::R->new($recce_option);
36              
37 2         516 bless($self, $class);
38              
39 2         27 return $self;
40             }
41             # ----------------------------------------------------------------------------------------
42              
43             sub parse {
44 2     2 1 3 my ($self, $bufferp) = @_;
45             #
46             # No array reference argument: this grammar has no event
47             #
48 2         32 return $self->_parse($bufferp);
49             }
50              
51              
52             1;
53              
54             __END__