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   63 use strict;
  16         21  
  16         426  
2 16     16   61 use warnings FATAL => 'all';
  16         19  
  16         596  
3              
4             package MarpaX::Database::Terminfo::String::Grammar;
5 16     16   7011 use MarpaX::Database::Terminfo::String::Grammar::Actions;
  16         32  
  16         389  
6 16     16   94 use MarpaX::Database::Terminfo::Grammar::CharacterClasses;
  16         21  
  16         2708  
7              
8             # ABSTRACT: Terminfo string grammar in Marpa BNF
9              
10             our $VERSION = '0.012'; # 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         13 };
25 2         8 $self->{_recce_option} = {};
26              
27 2         5 bless($self, $class);
28              
29 2         6 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 2 my ($self) = @_;
41 2         16 return $self->{_grammar_option};
42             }
43              
44              
45             sub recce_option {
46 2     2 1 10 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.012
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__