#include "perly-5.12.0.h"
enum
token_type {
TOKENTYPE_NONE,
TOKENTYPE_IVAL,
TOKENTYPE_OPNUM,
TOKENTYPE_PVAL,
TOKENTYPE_OPVAL,
TOKENTYPE_GVVAL
};
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"
},
{ 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"
},
{ FUNC, TOKENTYPE_OPNUM,
"FUNC"
},
{ FUNC0, TOKENTYPE_OPNUM,
"FUNC0"
},
{ 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_PVAL,
"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"
},
{ MYSUB, TOKENTYPE_NONE,
"MYSUB"
},
{ 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"
},
{ POSTDEC, TOKENTYPE_NONE,
"POSTDEC"
},
{ POSTINC, TOKENTYPE_NONE,
"POSTINC"
},
{ POWOP, TOKENTYPE_OPNUM,
"POWOP"
},
{ PREDEC, TOKENTYPE_NONE,
"PREDEC"
},
{ PREINC, TOKENTYPE_NONE,
"PREINC"
},
{ PRIVATEREF, TOKENTYPE_OPVAL,
"PRIVATEREF"
},
{ REFGEN, TOKENTYPE_NONE,
"REFGEN"
},
{ RELOP, TOKENTYPE_OPNUM,
"RELOP"
},
{ SHIFTOP, TOKENTYPE_OPNUM,
"SHIFTOP"
},
{ SUB, TOKENTYPE_NONE,
"SUB"
},
{ 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"
},
{
WORD
, TOKENTYPE_OPVAL,
"WORD"
},
{ YADAYADA, TOKENTYPE_IVAL,
"YADAYADA"
},
{ REQUIRE, TOKENTYPE_OPNUM,
"REQUIRE"
},
{ PREC_LOW, TOKENTYPE_OPNUM,
"PREC_LOW"
},
{ PEG, TOKENTYPE_OPNUM,
"PEG"
},
{ 0, TOKENTYPE_NONE, NULL }
};