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