File Coverage

blib/lib/MarpaX/Languages/ECMAScript/AST/Grammar/ECMAScript_262_5.pm
Criterion Covered Total %
statement 30 66 45.4
branch 0 4 0.0
condition n/a
subroutine 10 19 52.6
pod 8 8 100.0
total 48 97 49.4


line stmt bran cond sub pod time code
1 1     1   5 use strict;
  1         1  
  1         105  
2 1     1   6 use warnings FATAL => 'all';
  1         1  
  1         123  
3              
4             package MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5;
5 1     1   1293 use MarpaX::Languages::ECMAScript::AST::Impl;
  1         3  
  1         35  
6 1     1   806 use MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::Program;
  1         4  
  1         63  
7 1     1   728 use MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::StringNumericLiteral;
  1         5  
  1         35  
8 1     1   751 use MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::Pattern;
  1         5  
  1         43  
9 1     1   803 use MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::JSON;
  1         3  
  1         32  
10 1     1   783 use MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::URI;
  1         3  
  1         32  
11 1     1   1282 use MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::Template;
  1         5  
  1         48  
12 1     1   715 use MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::SpacesAny;
  1         4  
  1         642  
13              
14             # ABSTRACT: ECMAScript-262, Edition 5, grammar
15              
16             our $VERSION = '0.018'; # VERSION
17              
18              
19             sub new {
20 0     0 1   my ($class, %opts) = @_;
21              
22 0           my $self = {};
23              
24 0           bless($self, $class);
25              
26 0           $self->_init(%opts);
27              
28 0           return $self;
29             }
30              
31             sub _init {
32 0     0     my ($self, %opts) = @_;
33              
34 0           my $spacesAny = MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::SpacesAny->new();
35 0           $self->{_spacesAny} = {
36             grammar => $spacesAny,
37             impl => MarpaX::Languages::ECMAScript::AST::Impl->new($spacesAny->grammar_option(), $spacesAny->recce_option())
38             };
39              
40 0           my $program = MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::Program->new();
41 0           $self->{_program} = {
42             grammar => $program,
43             impl => MarpaX::Languages::ECMAScript::AST::Impl->new($program->grammar_option(), $program->recce_option())
44             };
45 0           $program->spacesAny($self->spacesAny);
46              
47 0           my $JSON = MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::JSON->new();
48 0           $self->{_JSON} = {
49             grammar => $JSON,
50             impl => MarpaX::Languages::ECMAScript::AST::Impl->new($JSON->grammar_option(), $JSON->recce_option())
51             };
52              
53 0           my $URI = MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::URI->new();
54 0           $self->{_URI} = {
55             grammar => $URI,
56             impl => MarpaX::Languages::ECMAScript::AST::Impl->new($URI->grammar_option(), $URI->recce_option())
57             };
58              
59 0 0         my $stringNumericLiteralOptionsp = exists($opts{StringNumericLiteral}) ? $opts{StringNumericLiteral} : undef;
60 0           my $stringNumericLiteral = MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::StringNumericLiteral->new($stringNumericLiteralOptionsp);
61 0           $self->{_stringNumericLiteral} = {
62             grammar => $stringNumericLiteral,
63             impl => MarpaX::Languages::ECMAScript::AST::Impl->new($stringNumericLiteral->grammar_option(), $stringNumericLiteral->recce_option())
64             };
65              
66 0           my $pattern = MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::Pattern->new();
67 0           $self->{_pattern} = {
68             grammar => $pattern,
69             impl => MarpaX::Languages::ECMAScript::AST::Impl->new($pattern->grammar_option(), $pattern->recce_option())
70             };
71              
72 0 0         my $templateOptionsp = exists($opts{Template}) ? $opts{Template} : undef;
73 0           $self->{_template} = MarpaX::Languages::ECMAScript::AST::Grammar::ECMAScript_262_5::Template->new($templateOptionsp);
74              
75             }
76              
77              
78             sub program {
79 0     0 1   my ($self) = @_;
80              
81 0           return $self->{_program};
82             }
83              
84              
85             sub JSON {
86 0     0 1   my ($self) = @_;
87              
88 0           return $self->{_JSON};
89             }
90              
91              
92             sub URI {
93 0     0 1   my ($self) = @_;
94              
95 0           return $self->{_URI};
96             }
97              
98              
99             sub template {
100 0     0 1   my ($self) = @_;
101              
102 0           return $self->{_template};
103             }
104              
105              
106             sub stringNumericLiteral {
107 0     0 1   my ($self) = @_;
108              
109 0           return $self->{_stringNumericLiteral};
110             }
111              
112              
113             sub pattern {
114 0     0 1   my ($self) = @_;
115              
116 0           return $self->{_pattern};
117             }
118              
119              
120             sub spacesAny {
121 0     0 1   my ($self) = @_;
122              
123 0           return $self->{_spacesAny};
124             }
125              
126              
127             1;
128              
129             __END__