The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package Spp::Ast;

use 5.012;
no warnings "experimental";

use Exporter;
our @ISA    = qw(Exporter);
our @EXPORT = qw(get_spp_ast);

sub get_spp_ast {
  return <<'EOF'
[["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"]]]]]
EOF
}
1;