The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package Compiler::Lexer::TokenType;
use strict;
use warnings;
use constant {
    T_Return => 0,
    T_Add => 1,
    T_Sub => 2,
    T_Mul => 3,
    T_Div => 4,
    T_Mod => 5,
    T_ThreeTermOperator => 6,
    T_Greater => 7,
    T_Less => 8,
    T_StringAdd => 9,
    T_Ref => 10,
    T_Glob => 11,
    T_BitNot => 12,
    T_BitOr => 13,
    T_Or => 14,
    T_BitAnd => 15,
    T_And => 16,
    T_BitXOr => 17,
    T_XOr => 18,
    T_StringMul => 19,
    T_AddEqual => 20,
    T_SubEqual => 21,
    T_MulEqual => 22,
    T_DivEqual => 23,
    T_ModEqual => 24,
    T_GreaterEqual => 25,
    T_LessEqual => 26,
    T_EqualEqual => 27,
    T_Diamond => 28,
    T_Compare => 29,
    T_PolymorphicCompare => 30,
    T_RegOK => 31,
    T_RegNot => 32,
    T_NotEqual => 33,
    T_StringLess => 34,
    T_StringLessEqual => 35,
    T_StringGreater => 36,
    T_StringGreaterEqual => 37,
    T_StringEqual => 38,
    T_StringNotEqual => 39,
    T_StringCompare => 40,
    T_Inc => 41,
    T_Dec => 42,
    T_Exp => 43,
    T_PowerEqual => 44,
    T_DefaultEqual => 45,
    T_LeftShift => 46,
    T_RightShift => 47,
    T_AndBitEqual => 48,
    T_OrBitEqual => 49,
    T_NotBitEqual => 50,
    T_OrEqual => 51,
    T_AndEqual => 52,
    T_Slice => 53,
    T_DefaultOperator => 54,
    T_ToDo => 55,
    T_VarDecl => 56,
    T_FunctionDecl => 57,
    T_Method => 58,
    T_Assign => 59,
    T_ArraySize => 60,
    T_Is => 61,
    T_IsNot => 62,
    T_Not => 63,
    T_BuiltinFunc => 64,
    T_RequireDecl => 65,
    T_Import => 66,
    T_SpecificKeyword => 67,
    T_DataWord => 68,
    T_ModWord => 69,
    T_AUTOLOAD => 70,
    T_CORE => 71,
    T_DESTROY => 72,
    T_STDIN => 73,
    T_STDOUT => 74,
    T_STDERR => 75,
    T_Redo => 76,
    T_Next => 77,
    T_Last => 78,
    T_Goto => 79,
    T_Continue => 80,
    T_Do => 81,
    T_Break => 82,
    T_Handle => 83,
    T_LocalDecl => 84,
    T_OurDecl => 85,
    T_StateDecl => 86,
    T_UseDecl => 87,
    T_UsedName => 88,
    T_RequiredName => 89,
    T_IfStmt => 90,
    T_ElseStmt => 91,
    T_ElsifStmt => 92,
    T_UnlessStmt => 93,
    T_UntilStmt => 94,
    T_WhenStmt => 95,
    T_GivenStmt => 96,
    T_DefaultStmt => 97,
    T_Comma => 98,
    T_Colon => 99,
    T_SemiColon => 100,
    T_LeftParenthesis => 101,
    T_RightParenthesis => 102,
    T_LeftBrace => 103,
    T_RightBrace => 104,
    T_LeftBracket => 105,
    T_RightBracket => 106,
    T_ArrayDereference => 107,
    T_HashDereference => 108,
    T_ScalarDereference => 109,
    T_ShortScalarDereference => 110,
    T_ShortArrayDereference => 111,
    T_ShortHashDereference => 112,
    T_ShortCodeDereference => 113,
    T_ArraySizeDereference => 114,
    T_Key => 115,
    T_BareWord => 116,
    T_Arrow => 117,
    T_Pointer => 118,
    T_NamespaceResolver => 119,
    T_Namespace => 120,
    T_Package => 121,
    T_Class => 122,
    T_CallDecl => 123,
    T_CodeRef => 124,
    T_WhileStmt => 125,
    T_ForStmt => 126,
    T_ForeachStmt => 127,
    T_Annotation => 128,
    T_ArgumentArray => 129,
    T_SpecificValue => 130,
    T_ConstValue => 131,
    T_ProgramArgument => 132,
    T_LibraryDirectories => 133,
    T_Environment => 134,
    T_Include => 135,
    T_Signal => 136,
    T_RegOpt => 137,
    T_RegQuote => 138,
    T_RegDoubleQuote => 139,
    T_RegList => 140,
    T_RegExec => 141,
    T_RegDecl => 142,
    T_RegMatch => 143,
    T_RegDelim => 144,
    T_HandleDelim => 145,
    T_RegMiddleDelim => 146,
    T_RegAllReplace => 147,
    T_RegReplace => 148,
    T_RegReplaceFrom => 149,
    T_RegReplaceTo => 150,
    T_FieldDecl => 151,
    T_TypeRef => 152,
    T_LabelRef => 153,
    T_LocalVarDecl => 154,
    T_GlobalVarDecl => 155,
    T_MultiLocalVarDecl => 156,
    T_MultiGlobalVarDecl => 157,
    T_Prototype => 158,
    T_Var => 159,
    T_CodeVar => 160,
    T_ArrayVar => 161,
    T_HashVar => 162,
    T_Int => 163,
    T_Double => 164,
    T_String => 165,
    T_RawString => 166,
    T_ExecString => 167,
    T_VersionString => 168,
    T_HereDocumentTag => 169,
    T_HereDocumentRawTag => 170,
    T_HereDocumentExecTag => 171,
    T_RawHereDocument => 172,
    T_HereDocument => 173,
    T_HereDocumentEnd => 174,
    T_FormatDecl => 175,
    T_Format => 176,
    T_FormatEnd => 177,
    T_Object => 178,
    T_RegExp => 179,
    T_Array => 180,
    T_Hash => 181,
    T_Operator => 182,
    T_LocalVar => 183,
    T_LocalArrayVar => 184,
    T_LocalHashVar => 185,
    T_GlobalVar => 186,
    T_GlobalArrayVar => 187,
    T_GlobalHashVar => 188,
    T_ArrayRef => 189,
    T_HashRef => 190,
    T_ArrayAt => 191,
    T_HashAt => 192,
    T_ArraySet => 193,
    T_HashSet => 194,
    T_Function => 195,
    T_Call => 196,
    T_Argument => 197,
    T_List => 198,
    T_Default => 199,
    T_Pod => 200,
    T_Comment => 201,
    T_WhiteSpace => 202,
    T_Undefined => 203
};
1;

package Compiler::Lexer::SyntaxType;
use strict;
use warnings;
use constant {
    T_Value => 0,
    T_Term => 1,
    T_Expr => 2,
    T_Stmt => 3,
    T_BlockStmt => 4
};
1;

package Compiler::Lexer::Kind;
use strict;
use warnings;
use constant {
    T_Return => 0,
    T_Operator => 1,
    T_Assign => 2,
    T_Decl => 3,
    T_Function => 4,
    T_SingleTerm => 5,
    T_Import => 6,
    T_SpecificKeyword => 7,
    T_DataWord => 8,
    T_ModWord => 9,
    T_AUTOLOAD => 10,
    T_CORE => 11,
    T_DESTROY => 12,
    T_Handle => 13,
    T_Redo => 14,
    T_Next => 15,
    T_Last => 16,
    T_Goto => 17,
    T_Continue => 18,
    T_Do => 19,
    T_Break => 20,
    T_Module => 21,
    T_Stmt => 22,
    T_DefaultStmt => 23,
    T_Comma => 24,
    T_Colon => 25,
    T_StmtEnd => 26,
    T_Symbol => 27,
    T_Modifier => 28,
    T_Term => 29,
    T_Namespace => 30,
    T_Package => 31,
    T_Class => 32,
    T_Annotation => 33,
    T_RegOpt => 34,
    T_RegPrefix => 35,
    T_RegReplacePrefix => 36,
    T_Ref => 37,
    T_Get => 38,
    T_Set => 39,
    T_Verbose => 40,
    T_Undefined => 41
};
1;