line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
# [[[ HEADER ]]] |
2
|
|
|
|
|
|
|
## no critic qw(Capitalization ProhibitMultiplePackages ProhibitReusedNames) # SYSTEM DEFAULT 3: allow multiple & lower case package names |
3
|
|
|
|
|
|
|
package # hide from PAUSE indexing |
4
|
|
|
|
|
|
|
rperlrules; # yes, yes it does |
5
|
3
|
|
|
3
|
|
18
|
use strict; |
|
3
|
|
|
|
|
7
|
|
|
3
|
|
|
|
|
73
|
|
6
|
3
|
|
|
3
|
|
13
|
use warnings; |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
98
|
|
7
|
|
|
|
|
|
|
our $VERSION = 0.001_100; |
8
|
|
|
|
|
|
|
|
9
|
|
|
|
|
|
|
#use RPerl; |
10
|
|
|
|
|
|
|
|
11
|
|
|
|
|
|
|
# NEED UPGRADE: make Grammars first-class citizens for full Perl 6 compatibility, we should have it done by Christmas XD |
12
|
|
|
|
|
|
|
#use parent qw(RPerl::GrammarComponent) |
13
|
|
|
|
|
|
|
|
14
|
|
|
|
|
|
|
# all following rules lists highest-to-lowest level |
15
|
|
|
|
|
|
|
|
16
|
|
|
|
|
|
|
# [[[ COMPILE UNITS ]]] |
17
|
|
|
|
|
|
|
|
18
|
3
|
|
|
3
|
|
684
|
use RPerl::CompileUnit; |
|
3
|
|
|
|
|
7
|
|
|
3
|
|
|
|
|
66
|
|
19
|
3
|
|
|
3
|
|
836
|
use RPerl::CompileUnit::Program; |
|
3
|
|
|
|
|
10
|
|
|
3
|
|
|
|
|
93
|
|
20
|
3
|
|
|
3
|
|
831
|
use RPerl::CompileUnit::Module; |
|
3
|
|
|
|
|
9
|
|
|
3
|
|
|
|
|
121
|
|
21
|
3
|
|
|
3
|
|
1647
|
use RPerl::CompileUnit::Module::Class::Generator; |
|
3
|
|
|
|
|
11
|
|
|
3
|
|
|
|
|
118
|
|
22
|
3
|
|
|
3
|
|
1083
|
use RPerl::CompileUnit::Module::Header; |
|
3
|
|
|
|
|
7
|
|
|
3
|
|
|
|
|
85
|
|
23
|
3
|
|
|
3
|
|
774
|
use RPerl::CompileUnit::Module::Package; |
|
3
|
|
|
|
|
8
|
|
|
3
|
|
|
|
|
88
|
|
24
|
3
|
|
|
3
|
|
771
|
use RPerl::CompileUnit::Include; |
|
3
|
|
|
|
|
8
|
|
|
3
|
|
|
|
|
102
|
|
25
|
3
|
|
|
3
|
|
844
|
use RPerl::CompileUnit::Critic; |
|
3
|
|
|
|
|
7
|
|
|
3
|
|
|
|
|
79
|
|
26
|
3
|
|
|
3
|
|
772
|
use RPerl::CompileUnit::Constant; |
|
3
|
|
|
|
|
8
|
|
|
3
|
|
|
|
|
89
|
|
27
|
3
|
|
|
3
|
|
19
|
use RPerl::CodeBlock; |
|
3
|
|
|
|
|
5
|
|
|
3
|
|
|
|
|
59
|
|
28
|
3
|
|
|
3
|
|
14
|
use RPerl::CodeBlock::Subroutine; |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
104
|
|
29
|
3
|
|
|
3
|
|
18
|
use RPerl::CodeBlock::Subroutine::Method; |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
63
|
|
30
|
3
|
|
|
3
|
|
838
|
use RPerl::CodeBlock::Subroutine::Method::Arguments; |
|
3
|
|
|
|
|
8
|
|
|
3
|
|
|
|
|
107
|
|
31
|
3
|
|
|
3
|
|
815
|
use RPerl::NonGenerator; |
|
3
|
|
|
|
|
11
|
|
|
3
|
|
|
|
|
113
|
|
32
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
# [[[ OPERATIONS ]]] |
34
|
|
|
|
|
|
|
|
35
|
3
|
|
|
3
|
|
916
|
use RPerl::Operation; |
|
3
|
|
|
|
|
12
|
|
|
3
|
|
|
|
|
96
|
|
36
|
3
|
|
|
3
|
|
23
|
use RPerl::Operation::Expression; |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
68
|
|
37
|
3
|
|
|
3
|
|
14
|
use RPerl::Operation::Expression::Operator; |
|
3
|
|
|
|
|
5
|
|
|
3
|
|
|
|
|
57
|
|
38
|
3
|
|
|
3
|
|
15
|
use RPerl::Operation::Expression::ConstantCall; # grammar rule & operation |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
54
|
|
39
|
3
|
|
|
3
|
|
15
|
use RPerl::Operation::Expression::SubroutineCall; # grammar rule & operation |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
52
|
|
40
|
3
|
|
|
3
|
|
13
|
use RPerl::Operation::Expression::SubroutineCall::MethodCall; # grammar rule & operation |
|
3
|
|
|
|
|
4
|
|
|
3
|
|
|
|
|
53
|
|
41
|
3
|
|
|
3
|
|
12
|
use RPerl::Operation::Expression::SubroutineCall::MethodCall::ConstructorCall; # grammar rule & operation |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
50
|
|
42
|
3
|
|
|
3
|
|
12
|
use RPerl::Operation::Statement; |
|
3
|
|
|
|
|
4
|
|
|
3
|
|
|
|
|
42
|
|
43
|
3
|
|
|
3
|
|
10
|
use RPerl::Operation::Statement::Conditional; # grammar rule & operation |
|
3
|
|
|
|
|
7
|
|
|
3
|
|
|
|
|
58
|
|
44
|
3
|
|
|
3
|
|
13
|
use RPerl::Operation::Statement::Loop; # grammar rule & operation |
|
3
|
|
|
|
|
4
|
|
|
3
|
|
|
|
|
51
|
|
45
|
3
|
|
|
3
|
|
15
|
use RPerl::Operation::Statement::Loop::For; # grammar rule & operation |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
52
|
|
46
|
3
|
|
|
3
|
|
11
|
use RPerl::Operation::Statement::Loop::ForEach; # grammar rule & operation |
|
3
|
|
|
|
|
5
|
|
|
3
|
|
|
|
|
49
|
|
47
|
3
|
|
|
3
|
|
13
|
use RPerl::Operation::Statement::Loop::While; # grammar rule & operation |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
45
|
|
48
|
3
|
|
|
3
|
|
13
|
use RPerl::Operation::Statement::OperatorVoid; |
|
3
|
|
|
|
|
5
|
|
|
3
|
|
|
|
|
40
|
|
49
|
3
|
|
|
3
|
|
12
|
use RPerl::Operation::Statement::OperatorVoid::Named; |
|
3
|
|
|
|
|
5
|
|
|
3
|
|
|
|
|
46
|
|
50
|
3
|
|
|
3
|
|
12
|
use RPerl::CodeBlock; |
|
3
|
|
|
|
|
5
|
|
|
3
|
|
|
|
|
53
|
|
51
|
|
|
|
|
|
|
|
52
|
|
|
|
|
|
|
# [[[ VARIABLES & TYPES ]]] |
53
|
|
|
|
|
|
|
|
54
|
3
|
|
|
3
|
|
927
|
use RPerl::Operation::Expression::SubExpression::Variable; |
|
3
|
|
|
|
|
11
|
|
|
3
|
|
|
|
|
131
|
|
55
|
3
|
|
|
3
|
|
1072
|
use RPerl::Operation::Expression::SubExpression::Variable::Retrieval; |
|
3
|
|
|
|
|
14
|
|
|
3
|
|
|
|
|
137
|
|
56
|
3
|
|
|
3
|
|
956
|
use RPerl::Operation::Expression::SubExpression::Literal; |
|
3
|
|
|
|
|
8
|
|
|
3
|
|
|
|
|
110
|
|
57
|
3
|
|
|
3
|
|
1055
|
use RPerl::Operation::Expression::SubExpression::Literal::Number; |
|
3
|
|
|
|
|
10
|
|
|
3
|
|
|
|
|
119
|
|
58
|
3
|
|
|
3
|
|
1050
|
use RPerl::Operation::Expression::SubExpression::Literal::String; |
|
3
|
|
|
|
|
6
|
|
|
3
|
|
|
|
|
98
|
|
59
|
3
|
|
|
3
|
|
811
|
use RPerl::Operation::Expression::SubExpression::Literal::Undefined; |
|
3
|
|
|
|
|
8
|
|
|
3
|
|
|
|
|
91
|
|
60
|
3
|
|
|
3
|
|
789
|
use RPerl::Operation::Expression::SubExpression::Parenthesis; |
|
3
|
|
|
|
|
9
|
|
|
3
|
|
|
|
|
95
|
|
61
|
3
|
|
|
3
|
|
818
|
use RPerl::Operation::Expression::SubExpression::ArrayDereference; |
|
3
|
|
|
|
|
7
|
|
|
3
|
|
|
|
|
99
|
|
62
|
3
|
|
|
3
|
|
803
|
use RPerl::Operation::Expression::SubExpression::HashDereference; |
|
3
|
|
|
|
|
9
|
|
|
3
|
|
|
|
|
91
|
|
63
|
3
|
|
|
3
|
|
1144
|
use RPerl::Operation::Statement::VariableDeclaration; |
|
3
|
|
|
|
|
9
|
|
|
3
|
|
|
|
|
112
|
|
64
|
3
|
|
|
3
|
|
961
|
use RPerl::Operation::Statement::VariableModification; |
|
3
|
|
|
|
|
7
|
|
|
3
|
|
|
|
|
102
|
|
65
|
3
|
|
|
3
|
|
865
|
use RPerl::DataStructure::Array::ListElements; |
|
3
|
|
|
|
|
9
|
|
|
3
|
|
|
|
|
88
|
|
66
|
3
|
|
|
3
|
|
815
|
use RPerl::DataStructure::Array::ListElement; |
|
3
|
|
|
|
|
8
|
|
|
3
|
|
|
|
|
89
|
|
67
|
3
|
|
|
3
|
|
824
|
use RPerl::DataStructure::Hash::Entry; |
|
3
|
|
|
|
|
8
|
|
|
3
|
|
|
|
|
97
|
|
68
|
3
|
|
|
3
|
|
737
|
use RPerl::DataType::TypeInner; |
|
3
|
|
|
|
|
8
|
|
|
3
|
|
|
|
|
82
|
|
69
|
|
|
|
|
|
|
|
70
|
|
|
|
|
|
|
# [[[ INPUT / OUTPUT ]]] |
71
|
|
|
|
|
|
|
|
72
|
3
|
|
|
3
|
|
731
|
use RPerl::InputOutput::FilehandleIn; |
|
3
|
|
|
|
|
7
|
|
|
3
|
|
|
|
|
70
|
|
73
|
3
|
|
|
3
|
|
755
|
use RPerl::InputOutput::Stdin; |
|
3
|
|
|
|
|
7
|
|
|
3
|
|
|
|
|
73
|
|
74
|
|
|
|
|
|
|
|
75
|
|
|
|
|
|
|
# [[[ OBJECT-ORIENTED ]]] |
76
|
|
|
|
|
|
|
|
77
|
3
|
|
|
3
|
|
15
|
use RPerl::CompileUnit::Module::Class; |
|
3
|
|
|
|
|
7
|
|
|
3
|
|
|
|
|
44
|
|
78
|
3
|
|
|
3
|
|
693
|
use RPerl::DataStructure::Hash::Properties; |
|
3
|
|
|
|
|
8
|
|
|
3
|
|
|
|
|
86
|
|
79
|
3
|
|
|
3
|
|
19
|
use RPerl::CodeBlock::Subroutine::Method; # Method is the only item that is both a Data Type & a Grammar Rule |
|
3
|
|
|
|
|
8
|
|
|
3
|
|
|
|
|
75
|
|
80
|
|
|
|
|
|
|
|
81
|
|
|
|
|
|
|
1; |