File Coverage

blib/lib/Compiler/Lexer/Constants.pm
Criterion Covered Total %
statement 15 15 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 20 20 100.0


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