File Coverage

blib/lib/MarpaX/Database/Terminfo/String/Grammar.pm
Criterion Covered Total %
statement 23 25 92.0
branch n/a
condition n/a
subroutine 7 8 87.5
pod 4 4 100.0
total 34 37 91.8


line stmt bran cond sub pod time code
1 16     16   96 use strict;
  16         32  
  16         700  
2 16     16   102 use warnings FATAL => 'all';
  16         39  
  16         706  
3              
4             package MarpaX::Database::Terminfo::String::Grammar;
5 16     16   14875 use MarpaX::Database::Terminfo::String::Grammar::Actions;
  16         62  
  16         732  
6 16     16   184 use MarpaX::Database::Terminfo::Grammar::CharacterClasses;
  16         43  
  16         7735  
7              
8             # ABSTRACT: Terminfo string grammar in Marpa BNF
9              
10             our $VERSION = '0.010'; # VERSION
11              
12              
13             our $GRAMMAR_CONTENT = do {local $/; };
14              
15             sub new {
16 2     2 1 5 my $class = shift;
17              
18 2         5 my $self = {};
19              
20 2         6 $self->{_content} = $GRAMMAR_CONTENT;
21 2         12 $self->{_grammar_option} = {
22             action_object => sprintf('%s::%s', __PACKAGE__, 'Actions'),
23             source => \$self->{_content}
24             };
25 2         19 $self->{_recce_option} = {};
26              
27 2         7 bless($self, $class);
28              
29 2         9 return $self;
30             }
31              
32              
33             sub content {
34 0     0 1 0 my ($self) = @_;
35 0         0 return $self->{_content};
36             }
37              
38              
39             sub grammar_option {
40 2     2 1 5 my ($self) = @_;
41 2         18 return $self->{_grammar_option};
42             }
43              
44              
45             sub recce_option {
46 2     2 1 8 my ($self) = @_;
47 2         13 return $self->{_recce_option};
48             }
49              
50              
51             1;
52              
53             =pod
54              
55             =encoding utf-8
56              
57             =head1 NAME
58              
59             MarpaX::Database::Terminfo::String::Grammar - Terminfo string grammar in Marpa BNF
60              
61             =head1 VERSION
62              
63             version 0.010
64              
65             =head1 SYNOPSIS
66              
67             use MarpaX::Database::Terminfo::String;
68              
69             my $grammar = MarpaX::Database::Terminfo::String->new();
70             my $grammar_content = $grammar->content();
71              
72             =head1 DESCRIPTION
73              
74             This modules returns Terminfo string grammar written in Marpa BNF.
75              
76             =head1 SUBROUTINES/METHODS
77              
78             =head2 new($class)
79              
80             Instance a new object.
81              
82             =head2 content($self)
83              
84             Returns the content of the grammar.
85              
86             =head2 grammar_option($self)
87              
88             Returns recommended option for Marpa::R2::Scanless::G->new(), returned as a reference to a hash.
89              
90             =head2 recce_option($self)
91              
92             Returns recommended option for Marpa::R2::Scanless::R->new(), returned as a reference to a hash.
93              
94             =head1 SEE ALSO
95              
96             L
97              
98             =head1 AUTHOR
99              
100             jddurand
101              
102             =head1 CONTRIBUTOR
103              
104             Jean-Damien Durand
105              
106             =head1 COPYRIGHT AND LICENSE
107              
108             This software is copyright (c) 2013 by Jean-Damien Durand.
109              
110             This is free software; you can redistribute it and/or modify it under
111             the same terms as the Perl 5 programming language system itself.
112              
113             =cut
114              
115             __DATA__