File Coverage

blib/lib/Spp/Ast.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 13 14 92.8


line stmt bran cond sub pod time code
1             package Spp::Ast;
2              
3 2     2   30 use 5.012;
  2         6  
4 2     2   9 no warnings "experimental";
  2         3  
  2         58  
5              
6 2     2   8 use Exporter;
  2         4  
  2         149  
7             our @ISA = qw(Exporter);
8             our @EXPORT = qw(get_spp_ast);
9              
10             sub get_spp_ast {
11             return <<'EOF'
12             [["door",["Rules",[["Rept",["+",["Branch",[["Rtoken","_"],["Ntoken","Spec"]]]]],["Assert","$"]]]],["_",["Rept",["+",["Branch",[["Rept",["+",["Cclass","s"]]],["Rtoken","_comm"]]]]]],["_comm",["Rules",[["Str","//"],["Till",["Assert","$$"]]]]],["Spec",["Rules",[["Ntoken","Token"],["Rept",["*",["Cclass","s"]]],["Char","="],["Rept",["+",["Branch",[["Rtoken","_"],["Ntoken","Branch"],["Ctoken","rule"]]]]],["Branch",[["Char",";"],["Assert","$"]]]]]],["rule",["Branch",[["Ntoken","Group"],["Ntoken","Token"],["Ntoken","Str"],["Ntoken","String"],["Ntoken","Kstr"],["Ntoken","Point"],["Ntoken","Cclass"],["Ntoken","Char"],["Ntoken","Chclass"],["Ntoken","Sym"],["Ntoken","Expr"],["Ntoken","Assert"],["Ntoken","Any"],["Ntoken","Look"],["Ntoken","Not"],["Ntoken","Till"]]]],["Branch",["Rules",[["Char","|"],["Rept",["+",["Branch",[["Rtoken","_"],["Ctoken","rule"]]]]],["Char","|"]]]],["Group",["Rules",[["Char","{"],["Rept",["+",["Branch",[["Rtoken","_"],["Ntoken","Branch"],["Ctoken","rule"]]]]],["Char","}"]]]],["Token",["Rept",["+",["Chclass",[["Cclass","a"],["Cchar","-"]]]]]],["Kstr",["Rules",[["Char",":"],["Rept",["+",["Chclass",[["Cclass","a"],["Cchar","-"]]]]]]]],["Point",["Rules",[["Str","0x"],["Rept",["+",["Cclass","x"]]]]]],["Str",["Rules",[["Char","'"],["Rept",["+",["Branch",[["Ntoken","Chars"],["Ntoken","Char"]]]]],["Char","'"]]]],["Chars",["Rept",["+",["Nclass",[["Cchar","\\"],["Cchar","'"]]]]]],["String",["Rules",[["Char","\""],["Rept",["+",["Branch",[["Ntoken","Schars"],["Ntoken","Char"]]]]],["Char","\""]]]],["Schars",["Rept",["+",["Nclass",[["Cchar","\\"],["Cchar","\""]]]]]],["Cclass",["Rules",[["Char","\\"],["Chclass",[["Cchar","a"],["Cchar","d"],["Cchar","h"],["Cchar","l"],["Cchar","s"],["Cchar","u"],["Cchar","v"],["Cchar","w"],["Cchar","x"],["Cchar","A"],["Cchar","D"],["Cchar","H"],["Cchar","L"],["Cchar","S"],["Cchar","U"],["Cchar","V"],["Cchar","W"],["Cchar","X"]]]]]],["Char",["Rules",[["Char","\\"],["Any","."]]]],["Chclass",["Rules",[["Char","["],["Rept",["?",["Ntoken","Flip"]]],["Rept",["+",["Branch",[["Rtoken","_"],["Ntoken","Cclass"],["Ntoken","Char"],["Ntoken","Range"],["Ntoken","Cchar"]]]]],["Char","]"]]]],["Flip",["Char","^"]],["Range",["Rules",[["Cclass","w"],["Char","-"],["Cclass","w"]]]],["Cchar",["Nclass",[["Cclass","s"],["Cchar","]"],["Cchar","/"],["Cchar","\\"]]]],["Assert",["Branch",[["Str","^^"],["Str","$$"],["Char","^"],["Char","$"]]]],["Any",["Char","."]],["Look",["Rules",[["Ntoken","Rept"],["Rept",["?",["Ntoken","Flag"]]]]]],["Rept",["Chclass",[["Cchar","?"],["Cchar","*"],["Cchar","+"]]]],["Flag",["Char","?"]],["Not",["Char","!"]],["Till",["Char","~"]],["Sym",["Rules",[["Chclass",[["Cchar","@"],["Cchar","$"]]],["Rept",["+",["Chclass",[["Cclass","a"],["Cchar","-"]]]]]]]],["Sub",["Rept",["+",["Chclass",[["Cclass","a"],["Cchar","-"]]]]]],["Expr",["Rules",[["Char","("],["Rept",["+",["Branch",[["Rtoken","_"],["Ctoken","atom"]]]]],["Char",")"]]]],["Array",["Rules",[["Char","["],["Rept",["*",["Branch",[["Rtoken","_"],["Ctoken","atom"]]]]],["Char","]"]]]],["atom",["Branch",[["Ntoken","Array"],["Ntoken","Sub"],["Ntoken","Sym"],["Ntoken","Kstr"]]]]]
13             EOF
14 3     3 0 19 }
15             1;