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   61 use strict;
  16         20  
  16         408  
2 16     16   98 use warnings FATAL => 'all';
  16         16  
  16         542  
3              
4             package MarpaX::Database::Terminfo::String::Grammar;
5 16     16   6865 use MarpaX::Database::Terminfo::String::Grammar::Actions;
  16         26  
  16         379  
6 16     16   93 use MarpaX::Database::Terminfo::Grammar::CharacterClasses;
  16         20  
  16         2813  
7              
8             # ABSTRACT: Terminfo string grammar in Marpa BNF
9              
10             our $VERSION = '0.011'; # VERSION
11              
12              
13             our $GRAMMAR_CONTENT = do {local $/; };
14              
15             sub new {
16 2     2 1 3 my $class = shift;
17              
18 2         3 my $self = {};
19              
20 2         6 $self->{_content} = $GRAMMAR_CONTENT;
21             $self->{_grammar_option} = {
22             action_object => sprintf('%s::%s', __PACKAGE__, 'Actions'),
23             source => \$self->{_content}
24 2         9 };
25 2         5 $self->{_recce_option} = {};
26              
27 2         4 bless($self, $class);
28              
29 2         5 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 4 my ($self) = @_;
41 2         12 return $self->{_grammar_option};
42             }
43              
44              
45             sub recce_option {
46 2     2 1 12 my ($self) = @_;
47 2         7 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.011
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 COPYRIGHT AND LICENSE
103              
104             This software is copyright (c) 2013 by Jean-Damien Durand.
105              
106             This is free software; you can redistribute it and/or modify it under
107             the same terms as the Perl 5 programming language system itself.
108              
109             =cut
110              
111             __DATA__