#include "perly-5.31.5.h"
enum
token_type {
TOKENTYPE_NONE,
TOKENTYPE_IVAL,
TOKENTYPE_OPNUM,
TOKENTYPE_PVAL,
TOKENTYPE_OPVAL
};
static
struct
debug_tokens {
const
int
token;
enum
token_type type;
const
char
*name;
}
const
debug_tokens[] =
{
{ ADDOP, TOKENTYPE_OPNUM,
"ADDOP"
},
{ ANDAND, TOKENTYPE_NONE,
"ANDAND"
},
{ ANDOP, TOKENTYPE_NONE,
"ANDOP"
},
{ ANONSUB, TOKENTYPE_IVAL,
"ANONSUB"
},
{ ANON_SIGSUB, TOKENTYPE_IVAL,
"ANON_SIGSUB"
},
{ ARROW, TOKENTYPE_NONE,
"ARROW"
},
{ ASSIGNOP, TOKENTYPE_OPNUM,
"ASSIGNOP"
},
{ BITANDOP, TOKENTYPE_OPNUM,
"BITANDOP"
},
{ BITOROP, TOKENTYPE_OPNUM,
"BITOROP"
},
{ COLONATTR, TOKENTYPE_NONE,
"COLONATTR"
},
{ CONTINUE, TOKENTYPE_NONE,
"CONTINUE"
},
{ DEFAULT, TOKENTYPE_NONE,
"DEFAULT"
},
{ DO, TOKENTYPE_NONE,
"DO"
},
{ DOLSHARP, TOKENTYPE_NONE,
"DOLSHARP"
},
{ DORDOR, TOKENTYPE_NONE,
"DORDOR"
},
{ DOROP, TOKENTYPE_OPNUM,
"DOROP"
},
{ DOTDOT, TOKENTYPE_IVAL,
"DOTDOT"
},
{ ELSE, TOKENTYPE_NONE,
"ELSE"
},
{ ELSIF, TOKENTYPE_IVAL,
"ELSIF"
},
{ EQOP, TOKENTYPE_OPNUM,
"EQOP"
},
{ FOR, TOKENTYPE_IVAL,
"FOR"
},
{ FORMAT, TOKENTYPE_NONE,
"FORMAT"
},
{ FORMLBRACK, TOKENTYPE_NONE,
"FORMLBRACK"
},
{ FORMRBRACK, TOKENTYPE_NONE,
"FORMRBRACK"
},
{ FUNC, TOKENTYPE_OPNUM,
"FUNC"
},
{ FUNC0, TOKENTYPE_OPNUM,
"FUNC0"
},
{ FUNC0OP, TOKENTYPE_OPVAL,
"FUNC0OP"
},
{ FUNC0SUB, TOKENTYPE_OPVAL,
"FUNC0SUB"
},
{ FUNC1, TOKENTYPE_OPNUM,
"FUNC1"
},
{ FUNCMETH, TOKENTYPE_OPVAL,
"FUNCMETH"
},
{ GIVEN, TOKENTYPE_IVAL,
"GIVEN"
},
{ HASHBRACK, TOKENTYPE_NONE,
"HASHBRACK"
},
{ IF, TOKENTYPE_IVAL,
"IF"
},
{ LABEL, TOKENTYPE_OPVAL,
"LABEL"
},
{ LOCAL, TOKENTYPE_IVAL,
"LOCAL"
},
{ LOOPEX, TOKENTYPE_OPNUM,
"LOOPEX"
},
{ LSTOP, TOKENTYPE_OPNUM,
"LSTOP"
},
{ LSTOPSUB, TOKENTYPE_OPVAL,
"LSTOPSUB"
},
{ MATCHOP, TOKENTYPE_OPNUM,
"MATCHOP"
},
{ METHOD, TOKENTYPE_OPVAL,
"METHOD"
},
{ MULOP, TOKENTYPE_OPNUM,
"MULOP"
},
{ MY, TOKENTYPE_IVAL,
"MY"
},
{ NOAMP, TOKENTYPE_NONE,
"NOAMP"
},
{ NOTOP, TOKENTYPE_NONE,
"NOTOP"
},
{ OROP, TOKENTYPE_IVAL,
"OROP"
},
{ OROR, TOKENTYPE_NONE,
"OROR"
},
{ PACKAGE, TOKENTYPE_NONE,
"PACKAGE"
},
{ PLUGEXPR, TOKENTYPE_OPVAL,
"PLUGEXPR"
},
{ PLUGSTMT, TOKENTYPE_OPVAL,
"PLUGSTMT"
},
{ PMFUNC, TOKENTYPE_OPVAL,
"PMFUNC"
},
{ POSTJOIN, TOKENTYPE_NONE,
"POSTJOIN"
},
{ POSTDEC, TOKENTYPE_NONE,
"POSTDEC"
},
{ POSTINC, TOKENTYPE_NONE,
"POSTINC"
},
{ POWOP, TOKENTYPE_OPNUM,
"POWOP"
},
{ PREDEC, TOKENTYPE_NONE,
"PREDEC"
},
{ PREINC, TOKENTYPE_NONE,
"PREINC"
},
{ PRIVATEREF, TOKENTYPE_OPVAL,
"PRIVATEREF"
},
{ QWLIST, TOKENTYPE_OPVAL,
"QWLIST"
},
{ REFGEN, TOKENTYPE_NONE,
"REFGEN"
},
{ RELOP, TOKENTYPE_OPNUM,
"RELOP"
},
{ REQUIRE, TOKENTYPE_NONE,
"REQUIRE"
},
{ SHIFTOP, TOKENTYPE_OPNUM,
"SHIFTOP"
},
{ SIGSUB, TOKENTYPE_NONE,
"SIGSUB"
},
{ SUB, TOKENTYPE_NONE,
"SUB"
},
{ SUBLEXEND, TOKENTYPE_NONE,
"SUBLEXEND"
},
{ SUBLEXSTART, TOKENTYPE_NONE,
"SUBLEXSTART"
},
{ THING, TOKENTYPE_OPVAL,
"THING"
},
{ UMINUS, TOKENTYPE_NONE,
"UMINUS"
},
{ UNIOP, TOKENTYPE_OPNUM,
"UNIOP"
},
{ UNIOPSUB, TOKENTYPE_OPVAL,
"UNIOPSUB"
},
{ UNLESS, TOKENTYPE_IVAL,
"UNLESS"
},
{ UNTIL, TOKENTYPE_IVAL,
"UNTIL"
},
{ USE, TOKENTYPE_IVAL,
"USE"
},
{ WHEN, TOKENTYPE_IVAL,
"WHEN"
},
{ WHILE, TOKENTYPE_IVAL,
"WHILE"
},
{ BAREWORD, TOKENTYPE_OPVAL,
"BAREWORD"
},
{ YADAYADA, TOKENTYPE_IVAL,
"YADAYADA"
},
{ GRAMPROG, TOKENTYPE_OPNUM,
"GRAMPROG"
},
{ GRAMEXPR, TOKENTYPE_OPNUM,
"GRAMEXPR"
},
{ GRAMBLOCK, TOKENTYPE_OPNUM,
"GRAMBLOCK"
},
{ GRAMBARESTMT, TOKENTYPE_OPNUM,
"GRAMBARESTMT"
},
{ GRAMFULLSTMT, TOKENTYPE_OPNUM,
"GRAMFULLSTMT"
},
{ GRAMSTMTSEQ, TOKENTYPE_OPNUM,
"GRAMSTMTSEQ"
},
{ GRAMSUBSIGNATURE, TOKENTYPE_OPNUM,
"GRAMSUBSIGNATURE"
},
{ PREC_LOW, TOKENTYPE_OPNUM,
"PREC_LOW"
},
{ 0, TOKENTYPE_NONE, NULL }
};