1: <?php
2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27:
28:
29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40:
41: class Text_Highlighter_PERL extends Text_Highlighter
42: {
43: var $_language = 'perl';
44:
45: 46: 47: 48: 49: 50:
51: function __construct($options=array())
52: {
53:
54: $this->_options = $options;
55: $this->_regs = array (
56: -1 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
57: 0 => '//',
58: 1 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
59: 2 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|((?i)([a-z1-9_]+)(\\s*=>))|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
60: 3 => '/((?m)^(#!)(.*))|((?m)^=\\w+)|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|([& ](\\w{2,}::)+\\w{2,})|((?Us)\\b(q[wq]\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|((?Us)\\b(q\\s*((\\{)|(\\()|(\\[)|(\\<)|([\\W\\S])))(?=(.*)((?(3)\\})(?(4)\\))(?(5)\\])(?(6)\\>)(?(7)\\7))))|(#.*)|((?x)(s|tr) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2)((\\\\.|[^\\\\])*?)(\\2[ecgimosx]*))|((?x)(m) ([|#~`!@$%^&*-+=\\\\;:\'",.\\/?]) ((\\\\.|[^\\\\])*?) (\\2[ecgimosx]*))|( \\/)|(\\$#?[1-9\'`@!])|((?i)(\\$#?|[@%*])([a-z1-9_]+::)*([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)(&|\\w+)\'[\\w_\']+\\b)|((?i)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
61: 4 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
62: 5 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
63: 6 => '/(\\\\\\/)/',
64: 7 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
65: 8 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
66: 9 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
67: );
68: $this->_counts = array (
69: -1 =>
70: array (
71: 0 => 2,
72: 1 => 0,
73: 2 => 0,
74: 3 => 0,
75: 4 => 0,
76: 5 => 2,
77: 6 => 1,
78: 7 => 9,
79: 8 => 9,
80: 9 => 0,
81: 10 => 8,
82: 11 => 5,
83: 12 => 0,
84: 13 => 0,
85: 14 => 3,
86: 15 => 1,
87: 16 => 1,
88: 17 => 3,
89: 18 => 0,
90: 19 => 0,
91: 20 => 0,
92: 21 => 0,
93: 22 => 0,
94: 23 => 0,
95: ),
96: 0 =>
97: array (
98: ),
99: 1 =>
100: array (
101: 0 => 2,
102: 1 => 0,
103: 2 => 0,
104: 3 => 0,
105: 4 => 0,
106: 5 => 2,
107: 6 => 1,
108: 7 => 9,
109: 8 => 9,
110: 9 => 0,
111: 10 => 8,
112: 11 => 5,
113: 12 => 0,
114: 13 => 0,
115: 14 => 3,
116: 15 => 1,
117: 16 => 1,
118: 17 => 3,
119: 18 => 0,
120: 19 => 0,
121: 20 => 0,
122: 21 => 0,
123: 22 => 0,
124: 23 => 0,
125: ),
126: 2 =>
127: array (
128: 0 => 2,
129: 1 => 0,
130: 2 => 0,
131: 3 => 0,
132: 4 => 0,
133: 5 => 2,
134: 6 => 1,
135: 7 => 9,
136: 8 => 9,
137: 9 => 0,
138: 10 => 8,
139: 11 => 5,
140: 12 => 0,
141: 13 => 2,
142: 14 => 0,
143: 15 => 3,
144: 16 => 1,
145: 17 => 1,
146: 18 => 3,
147: 19 => 0,
148: 20 => 0,
149: 21 => 0,
150: 22 => 0,
151: 23 => 0,
152: 24 => 0,
153: ),
154: 3 =>
155: array (
156: 0 => 2,
157: 1 => 0,
158: 2 => 0,
159: 3 => 0,
160: 4 => 0,
161: 5 => 2,
162: 6 => 1,
163: 7 => 9,
164: 8 => 9,
165: 9 => 0,
166: 10 => 8,
167: 11 => 5,
168: 12 => 0,
169: 13 => 0,
170: 14 => 3,
171: 15 => 1,
172: 16 => 1,
173: 17 => 3,
174: 18 => 0,
175: 19 => 0,
176: 20 => 0,
177: 21 => 0,
178: 22 => 0,
179: 23 => 0,
180: ),
181: 4 =>
182: array (
183: 0 => 0,
184: 1 => 1,
185: 2 => 0,
186: 3 => 0,
187: ),
188: 5 =>
189: array (
190: 0 => 0,
191: ),
192: 6 =>
193: array (
194: 0 => 0,
195: ),
196: 7 =>
197: array (
198: 0 => 0,
199: 1 => 1,
200: 2 => 0,
201: 3 => 0,
202: ),
203: 8 =>
204: array (
205: 0 => 0,
206: ),
207: 9 =>
208: array (
209: 0 => 0,
210: 1 => 1,
211: 2 => 0,
212: 3 => 0,
213: ),
214: );
215: $this->_delim = array (
216: -1 =>
217: array (
218: 0 => '',
219: 1 => 'comment',
220: 2 => 'brackets',
221: 3 => 'brackets',
222: 4 => 'brackets',
223: 5 => '',
224: 6 => '',
225: 7 => 'quotes',
226: 8 => 'quotes',
227: 9 => '',
228: 10 => '',
229: 11 => '',
230: 12 => 'quotes',
231: 13 => '',
232: 14 => '',
233: 15 => '',
234: 16 => '',
235: 17 => '',
236: 18 => '',
237: 19 => 'quotes',
238: 20 => 'quotes',
239: 21 => 'quotes',
240: 22 => '',
241: 23 => '',
242: ),
243: 0 =>
244: array (
245: ),
246: 1 =>
247: array (
248: 0 => '',
249: 1 => 'comment',
250: 2 => 'brackets',
251: 3 => 'brackets',
252: 4 => 'brackets',
253: 5 => '',
254: 6 => '',
255: 7 => 'quotes',
256: 8 => 'quotes',
257: 9 => '',
258: 10 => '',
259: 11 => '',
260: 12 => 'quotes',
261: 13 => '',
262: 14 => '',
263: 15 => '',
264: 16 => '',
265: 17 => '',
266: 18 => '',
267: 19 => 'quotes',
268: 20 => 'quotes',
269: 21 => 'quotes',
270: 22 => '',
271: 23 => '',
272: ),
273: 2 =>
274: array (
275: 0 => '',
276: 1 => 'comment',
277: 2 => 'brackets',
278: 3 => 'brackets',
279: 4 => 'brackets',
280: 5 => '',
281: 6 => '',
282: 7 => 'quotes',
283: 8 => 'quotes',
284: 9 => '',
285: 10 => '',
286: 11 => '',
287: 12 => 'quotes',
288: 13 => '',
289: 14 => '',
290: 15 => '',
291: 16 => '',
292: 17 => '',
293: 18 => '',
294: 19 => '',
295: 20 => 'quotes',
296: 21 => 'quotes',
297: 22 => 'quotes',
298: 23 => '',
299: 24 => '',
300: ),
301: 3 =>
302: array (
303: 0 => '',
304: 1 => 'comment',
305: 2 => 'brackets',
306: 3 => 'brackets',
307: 4 => 'brackets',
308: 5 => '',
309: 6 => '',
310: 7 => 'quotes',
311: 8 => 'quotes',
312: 9 => '',
313: 10 => '',
314: 11 => '',
315: 12 => 'quotes',
316: 13 => '',
317: 14 => '',
318: 15 => '',
319: 16 => '',
320: 17 => '',
321: 18 => '',
322: 19 => 'quotes',
323: 20 => 'quotes',
324: 21 => 'quotes',
325: 22 => '',
326: 23 => '',
327: ),
328: 4 =>
329: array (
330: 0 => '',
331: 1 => '',
332: 2 => '',
333: 3 => '',
334: ),
335: 5 =>
336: array (
337: 0 => '',
338: ),
339: 6 =>
340: array (
341: 0 => '',
342: ),
343: 7 =>
344: array (
345: 0 => '',
346: 1 => '',
347: 2 => '',
348: 3 => '',
349: ),
350: 8 =>
351: array (
352: 0 => '',
353: ),
354: 9 =>
355: array (
356: 0 => '',
357: 1 => '',
358: 2 => '',
359: 3 => '',
360: ),
361: );
362: $this->_inner = array (
363: -1 =>
364: array (
365: 0 => 'special',
366: 1 => 'comment',
367: 2 => 'code',
368: 3 => 'code',
369: 4 => 'code',
370: 5 => 'special',
371: 6 => 'special',
372: 7 => 'string',
373: 8 => 'string',
374: 9 => 'comment',
375: 10 => 'string',
376: 11 => 'string',
377: 12 => 'string',
378: 13 => 'var',
379: 14 => 'var',
380: 15 => 'var',
381: 16 => 'var',
382: 17 => 'var',
383: 18 => 'var',
384: 19 => 'string',
385: 20 => 'string',
386: 21 => 'string',
387: 22 => 'identifier',
388: 23 => 'number',
389: ),
390: 0 =>
391: array (
392: ),
393: 1 =>
394: array (
395: 0 => 'special',
396: 1 => 'comment',
397: 2 => 'code',
398: 3 => 'code',
399: 4 => 'code',
400: 5 => 'special',
401: 6 => 'special',
402: 7 => 'string',
403: 8 => 'string',
404: 9 => 'comment',
405: 10 => 'string',
406: 11 => 'string',
407: 12 => 'string',
408: 13 => 'var',
409: 14 => 'var',
410: 15 => 'var',
411: 16 => 'var',
412: 17 => 'var',
413: 18 => 'var',
414: 19 => 'string',
415: 20 => 'string',
416: 21 => 'string',
417: 22 => 'identifier',
418: 23 => 'number',
419: ),
420: 2 =>
421: array (
422: 0 => 'special',
423: 1 => 'comment',
424: 2 => 'code',
425: 3 => 'code',
426: 4 => 'code',
427: 5 => 'special',
428: 6 => 'special',
429: 7 => 'string',
430: 8 => 'string',
431: 9 => 'comment',
432: 10 => 'string',
433: 11 => 'string',
434: 12 => 'string',
435: 13 => 'string',
436: 14 => 'var',
437: 15 => 'var',
438: 16 => 'var',
439: 17 => 'var',
440: 18 => 'var',
441: 19 => 'var',
442: 20 => 'string',
443: 21 => 'string',
444: 22 => 'string',
445: 23 => 'identifier',
446: 24 => 'number',
447: ),
448: 3 =>
449: array (
450: 0 => 'special',
451: 1 => 'comment',
452: 2 => 'code',
453: 3 => 'code',
454: 4 => 'code',
455: 5 => 'special',
456: 6 => 'special',
457: 7 => 'string',
458: 8 => 'string',
459: 9 => 'comment',
460: 10 => 'string',
461: 11 => 'string',
462: 12 => 'string',
463: 13 => 'var',
464: 14 => 'var',
465: 15 => 'var',
466: 16 => 'var',
467: 17 => 'var',
468: 18 => 'var',
469: 19 => 'string',
470: 20 => 'string',
471: 21 => 'string',
472: 22 => 'identifier',
473: 23 => 'number',
474: ),
475: 4 =>
476: array (
477: 0 => 'var',
478: 1 => 'var',
479: 2 => 'var',
480: 3 => 'special',
481: ),
482: 5 =>
483: array (
484: 0 => 'special',
485: ),
486: 6 =>
487: array (
488: 0 => 'string',
489: ),
490: 7 =>
491: array (
492: 0 => 'var',
493: 1 => 'var',
494: 2 => 'var',
495: 3 => 'special',
496: ),
497: 8 =>
498: array (
499: 0 => 'special',
500: ),
501: 9 =>
502: array (
503: 0 => 'var',
504: 1 => 'var',
505: 2 => 'var',
506: 3 => 'special',
507: ),
508: );
509: $this->_end = array (
510: 0 => '/(?m)^=cut[^\\n]*/',
511: 1 => '/\\}/',
512: 2 => '/\\)/',
513: 3 => '/\\]/',
514: 4 => '/%b2%/',
515: 5 => '/%b2%/',
516: 6 => '/\\/[cgimosx]*/',
517: 7 => '/`/',
518: 8 => '/\'/',
519: 9 => '/"/',
520: );
521: $this->_states = array (
522: -1 =>
523: array (
524: 0 => -1,
525: 1 => 0,
526: 2 => 1,
527: 3 => 2,
528: 4 => 3,
529: 5 => -1,
530: 6 => -1,
531: 7 => 4,
532: 8 => 5,
533: 9 => -1,
534: 10 => -1,
535: 11 => -1,
536: 12 => 6,
537: 13 => -1,
538: 14 => -1,
539: 15 => -1,
540: 16 => -1,
541: 17 => -1,
542: 18 => -1,
543: 19 => 7,
544: 20 => 8,
545: 21 => 9,
546: 22 => -1,
547: 23 => -1,
548: ),
549: 0 =>
550: array (
551: ),
552: 1 =>
553: array (
554: 0 => -1,
555: 1 => 0,
556: 2 => 1,
557: 3 => 2,
558: 4 => 3,
559: 5 => -1,
560: 6 => -1,
561: 7 => 4,
562: 8 => 5,
563: 9 => -1,
564: 10 => -1,
565: 11 => -1,
566: 12 => 6,
567: 13 => -1,
568: 14 => -1,
569: 15 => -1,
570: 16 => -1,
571: 17 => -1,
572: 18 => -1,
573: 19 => 7,
574: 20 => 8,
575: 21 => 9,
576: 22 => -1,
577: 23 => -1,
578: ),
579: 2 =>
580: array (
581: 0 => -1,
582: 1 => 0,
583: 2 => 1,
584: 3 => 2,
585: 4 => 3,
586: 5 => -1,
587: 6 => -1,
588: 7 => 4,
589: 8 => 5,
590: 9 => -1,
591: 10 => -1,
592: 11 => -1,
593: 12 => 6,
594: 13 => -1,
595: 14 => -1,
596: 15 => -1,
597: 16 => -1,
598: 17 => -1,
599: 18 => -1,
600: 19 => -1,
601: 20 => 7,
602: 21 => 8,
603: 22 => 9,
604: 23 => -1,
605: 24 => -1,
606: ),
607: 3 =>
608: array (
609: 0 => -1,
610: 1 => 0,
611: 2 => 1,
612: 3 => 2,
613: 4 => 3,
614: 5 => -1,
615: 6 => -1,
616: 7 => 4,
617: 8 => 5,
618: 9 => -1,
619: 10 => -1,
620: 11 => -1,
621: 12 => 6,
622: 13 => -1,
623: 14 => -1,
624: 15 => -1,
625: 16 => -1,
626: 17 => -1,
627: 18 => -1,
628: 19 => 7,
629: 20 => 8,
630: 21 => 9,
631: 22 => -1,
632: 23 => -1,
633: ),
634: 4 =>
635: array (
636: 0 => -1,
637: 1 => -1,
638: 2 => -1,
639: 3 => -1,
640: ),
641: 5 =>
642: array (
643: 0 => -1,
644: ),
645: 6 =>
646: array (
647: 0 => -1,
648: ),
649: 7 =>
650: array (
651: 0 => -1,
652: 1 => -1,
653: 2 => -1,
654: 3 => -1,
655: ),
656: 8 =>
657: array (
658: 0 => -1,
659: ),
660: 9 =>
661: array (
662: 0 => -1,
663: 1 => -1,
664: 2 => -1,
665: 3 => -1,
666: ),
667: );
668: $this->_keywords = array (
669: -1 =>
670: array (
671: 0 =>
672: array (
673: ),
674: 1 => -1,
675: 2 => -1,
676: 3 => -1,
677: 4 => -1,
678: 5 =>
679: array (
680: ),
681: 6 =>
682: array (
683: ),
684: 7 => -1,
685: 8 => -1,
686: 9 =>
687: array (
688: ),
689: 10 =>
690: array (
691: ),
692: 11 =>
693: array (
694: ),
695: 12 => -1,
696: 13 =>
697: array (
698: ),
699: 14 =>
700: array (
701: ),
702: 15 =>
703: array (
704: ),
705: 16 =>
706: array (
707: ),
708: 17 =>
709: array (
710: ),
711: 18 =>
712: array (
713: ),
714: 19 => -1,
715: 20 => -1,
716: 21 => -1,
717: 22 =>
718: array (
719: 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
720: 'missingreserved' => '/^(new)$/',
721: 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
722: ),
723: 23 =>
724: array (
725: ),
726: ),
727: 0 =>
728: array (
729: ),
730: 1 =>
731: array (
732: 0 =>
733: array (
734: ),
735: 1 => -1,
736: 2 => -1,
737: 3 => -1,
738: 4 => -1,
739: 5 =>
740: array (
741: ),
742: 6 =>
743: array (
744: ),
745: 7 => -1,
746: 8 => -1,
747: 9 =>
748: array (
749: ),
750: 10 =>
751: array (
752: ),
753: 11 =>
754: array (
755: ),
756: 12 => -1,
757: 13 =>
758: array (
759: ),
760: 14 =>
761: array (
762: ),
763: 15 =>
764: array (
765: ),
766: 16 =>
767: array (
768: ),
769: 17 =>
770: array (
771: ),
772: 18 =>
773: array (
774: ),
775: 19 => -1,
776: 20 => -1,
777: 21 => -1,
778: 22 =>
779: array (
780: 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
781: 'missingreserved' => '/^(new)$/',
782: 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
783: ),
784: 23 =>
785: array (
786: ),
787: ),
788: 2 =>
789: array (
790: 0 =>
791: array (
792: ),
793: 1 => -1,
794: 2 => -1,
795: 3 => -1,
796: 4 => -1,
797: 5 =>
798: array (
799: ),
800: 6 =>
801: array (
802: ),
803: 7 => -1,
804: 8 => -1,
805: 9 =>
806: array (
807: ),
808: 10 =>
809: array (
810: ),
811: 11 =>
812: array (
813: ),
814: 12 => -1,
815: 13 =>
816: array (
817: ),
818: 14 =>
819: array (
820: ),
821: 15 =>
822: array (
823: ),
824: 16 =>
825: array (
826: ),
827: 17 =>
828: array (
829: ),
830: 18 =>
831: array (
832: ),
833: 19 =>
834: array (
835: ),
836: 20 => -1,
837: 21 => -1,
838: 22 => -1,
839: 23 =>
840: array (
841: 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
842: 'missingreserved' => '/^(new)$/',
843: 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
844: ),
845: 24 =>
846: array (
847: ),
848: ),
849: 3 =>
850: array (
851: 0 =>
852: array (
853: ),
854: 1 => -1,
855: 2 => -1,
856: 3 => -1,
857: 4 => -1,
858: 5 =>
859: array (
860: ),
861: 6 =>
862: array (
863: ),
864: 7 => -1,
865: 8 => -1,
866: 9 =>
867: array (
868: ),
869: 10 =>
870: array (
871: ),
872: 11 =>
873: array (
874: ),
875: 12 => -1,
876: 13 =>
877: array (
878: ),
879: 14 =>
880: array (
881: ),
882: 15 =>
883: array (
884: ),
885: 16 =>
886: array (
887: ),
888: 17 =>
889: array (
890: ),
891: 18 =>
892: array (
893: ),
894: 19 => -1,
895: 20 => -1,
896: 21 => -1,
897: 22 =>
898: array (
899: 'reserved' => '/^(abs|accept|alarm|atan2|bind|binmode|bless|caller|chdir|chmod|chomp|chop|chown|chr|chroot|close|closedir|connect|continue|cos|crypt|dbmclose|dbmopen|defined|delete|die|do|dump|each|endgrent|endhostent|endnetent|endprotoent|endpwent|endservent|eof|eval|exec|exists|exit|exp|fcntl|fileno|flock|fork|format|formline|getc|getgrent|getgrgid|getgrnam|gethostbyaddr|gethostbyname|gethostent|getlogin|getnetbyaddr|getnetbyname|getnetent|getpeername|getpgrp|getppid|getpriority|getprotobyname|getprotobynumber|getprotoent|getpwent|getpwnam|getpwuid|getservbyname|getservbyport|getservent|getsockname|getsockopt|glob|gmtime|goto|grep|hex|import|index|int|ioctl|join|keys|kill|last|lc|lcfirst|length|link|listen|local|localtime|lock|log|lstat|map|mkdir|msgctl|msgget|msgrcv|msgsnd|my|next|no|oct|open|opendir|ord|our|pack|package|pipe|pop|pos|print|printf|prototype|push|quotemeta|rand|read|readdir|readline|readlink|readpipe|recv|redo|ref|rename|require|reset|return|reverse|rewinddir|rindex|rmdir|scalar|seek|seekdir|select|semctl|semget|semop|send|setgrent|sethostent|setnetent|setpgrp|setpriority|setprotoent|setpwent|setservent|setsockopt|shift|shmctl|shmget|shmread|shmwrite|shutdown|sin|sleep|socket|socketpair|sort|splice|split|sprintf|sqrt|srand|stat|study|sub|substr|symlink|syscall|sysopen|sysread|sysseek|system|syswrite|tell|telldir|tie|tied|time|times|truncate|uc|ucfirst|umask|undef|unlink|unpack|unshift|untie|use|utime|values|vec|wait|waitpid|wantarray|warn|write|y)$/',
900: 'missingreserved' => '/^(new)$/',
901: 'flowcontrol' => '/^(if|else|elsif|while|unless|for|foreach|until|do|continue|not|or|and|eq|ne|gt|lt)$/',
902: ),
903: 23 =>
904: array (
905: ),
906: ),
907: 4 =>
908: array (
909: 0 =>
910: array (
911: ),
912: 1 =>
913: array (
914: ),
915: 2 =>
916: array (
917: ),
918: 3 =>
919: array (
920: ),
921: ),
922: 5 =>
923: array (
924: 0 =>
925: array (
926: ),
927: ),
928: 6 =>
929: array (
930: 0 =>
931: array (
932: ),
933: ),
934: 7 =>
935: array (
936: 0 =>
937: array (
938: ),
939: 1 =>
940: array (
941: ),
942: 2 =>
943: array (
944: ),
945: 3 =>
946: array (
947: ),
948: ),
949: 8 =>
950: array (
951: 0 =>
952: array (
953: ),
954: ),
955: 9 =>
956: array (
957: 0 =>
958: array (
959: ),
960: 1 =>
961: array (
962: ),
963: 2 =>
964: array (
965: ),
966: 3 =>
967: array (
968: ),
969: ),
970: );
971: $this->_parts = array (
972: 0 =>
973: array (
974: ),
975: 1 =>
976: array (
977: 0 =>
978: array (
979: 1 => 'special',
980: 2 => 'string',
981: ),
982: 1 => NULL,
983: 2 => NULL,
984: 3 => NULL,
985: 4 => NULL,
986: 5 =>
987: array (
988: 1 => 'reserved',
989: 2 => 'special',
990: ),
991: 6 => NULL,
992: 7 => NULL,
993: 8 => NULL,
994: 9 => NULL,
995: 10 =>
996: array (
997: 1 => 'quotes',
998: 2 => 'quotes',
999: 3 => 'string',
1000: 5 => 'quotes',
1001: 6 => 'string',
1002: 8 => 'quotes',
1003: ),
1004: 11 =>
1005: array (
1006: 1 => 'quotes',
1007: 2 => 'quotes',
1008: 3 => 'string',
1009: 5 => 'quotes',
1010: ),
1011: 12 => NULL,
1012: 13 => NULL,
1013: 14 => NULL,
1014: 15 => NULL,
1015: 16 => NULL,
1016: 17 =>
1017: array (
1018: 1 => 'brackets',
1019: 2 => 'var',
1020: 3 => 'brackets',
1021: ),
1022: 18 => NULL,
1023: 19 => NULL,
1024: 20 => NULL,
1025: 21 => NULL,
1026: 22 => NULL,
1027: 23 => NULL,
1028: ),
1029: 2 =>
1030: array (
1031: 0 =>
1032: array (
1033: 1 => 'special',
1034: 2 => 'string',
1035: ),
1036: 1 => NULL,
1037: 2 => NULL,
1038: 3 => NULL,
1039: 4 => NULL,
1040: 5 =>
1041: array (
1042: 1 => 'reserved',
1043: 2 => 'special',
1044: ),
1045: 6 => NULL,
1046: 7 => NULL,
1047: 8 => NULL,
1048: 9 => NULL,
1049: 10 =>
1050: array (
1051: 1 => 'quotes',
1052: 2 => 'quotes',
1053: 3 => 'string',
1054: 5 => 'quotes',
1055: 6 => 'string',
1056: 8 => 'quotes',
1057: ),
1058: 11 =>
1059: array (
1060: 1 => 'quotes',
1061: 2 => 'quotes',
1062: 3 => 'string',
1063: 5 => 'quotes',
1064: ),
1065: 12 => NULL,
1066: 13 =>
1067: array (
1068: 1 => 'string',
1069: 2 => 'code',
1070: ),
1071: 14 => NULL,
1072: 15 => NULL,
1073: 16 => NULL,
1074: 17 => NULL,
1075: 18 =>
1076: array (
1077: 1 => 'brackets',
1078: 2 => 'var',
1079: 3 => 'brackets',
1080: ),
1081: 19 => NULL,
1082: 20 => NULL,
1083: 21 => NULL,
1084: 22 => NULL,
1085: 23 => NULL,
1086: 24 => NULL,
1087: ),
1088: 3 =>
1089: array (
1090: 0 =>
1091: array (
1092: 1 => 'special',
1093: 2 => 'string',
1094: ),
1095: 1 => NULL,
1096: 2 => NULL,
1097: 3 => NULL,
1098: 4 => NULL,
1099: 5 =>
1100: array (
1101: 1 => 'reserved',
1102: 2 => 'special',
1103: ),
1104: 6 => NULL,
1105: 7 => NULL,
1106: 8 => NULL,
1107: 9 => NULL,
1108: 10 =>
1109: array (
1110: 1 => 'quotes',
1111: 2 => 'quotes',
1112: 3 => 'string',
1113: 5 => 'quotes',
1114: 6 => 'string',
1115: 8 => 'quotes',
1116: ),
1117: 11 =>
1118: array (
1119: 1 => 'quotes',
1120: 2 => 'quotes',
1121: 3 => 'string',
1122: 5 => 'quotes',
1123: ),
1124: 12 => NULL,
1125: 13 => NULL,
1126: 14 => NULL,
1127: 15 => NULL,
1128: 16 => NULL,
1129: 17 =>
1130: array (
1131: 1 => 'brackets',
1132: 2 => 'var',
1133: 3 => 'brackets',
1134: ),
1135: 18 => NULL,
1136: 19 => NULL,
1137: 20 => NULL,
1138: 21 => NULL,
1139: 22 => NULL,
1140: 23 => NULL,
1141: ),
1142: 4 =>
1143: array (
1144: 0 => NULL,
1145: 1 => NULL,
1146: 2 => NULL,
1147: 3 => NULL,
1148: ),
1149: 5 =>
1150: array (
1151: 0 => NULL,
1152: ),
1153: 6 =>
1154: array (
1155: 0 => NULL,
1156: ),
1157: 7 =>
1158: array (
1159: 0 => NULL,
1160: 1 => NULL,
1161: 2 => NULL,
1162: 3 => NULL,
1163: ),
1164: 8 =>
1165: array (
1166: 0 => NULL,
1167: ),
1168: 9 =>
1169: array (
1170: 0 => NULL,
1171: 1 => NULL,
1172: 2 => NULL,
1173: 3 => NULL,
1174: ),
1175: );
1176: $this->_subst = array (
1177: -1 =>
1178: array (
1179: 0 => false,
1180: 1 => false,
1181: 2 => false,
1182: 3 => false,
1183: 4 => false,
1184: 5 => false,
1185: 6 => false,
1186: 7 => true,
1187: 8 => true,
1188: 9 => false,
1189: 10 => false,
1190: 11 => false,
1191: 12 => false,
1192: 13 => false,
1193: 14 => false,
1194: 15 => false,
1195: 16 => false,
1196: 17 => false,
1197: 18 => false,
1198: 19 => false,
1199: 20 => false,
1200: 21 => false,
1201: 22 => false,
1202: 23 => false,
1203: ),
1204: 0 =>
1205: array (
1206: ),
1207: 1 =>
1208: array (
1209: 0 => false,
1210: 1 => false,
1211: 2 => false,
1212: 3 => false,
1213: 4 => false,
1214: 5 => false,
1215: 6 => false,
1216: 7 => true,
1217: 8 => true,
1218: 9 => false,
1219: 10 => false,
1220: 11 => false,
1221: 12 => false,
1222: 13 => false,
1223: 14 => false,
1224: 15 => false,
1225: 16 => false,
1226: 17 => false,
1227: 18 => false,
1228: 19 => false,
1229: 20 => false,
1230: 21 => false,
1231: 22 => false,
1232: 23 => false,
1233: ),
1234: 2 =>
1235: array (
1236: 0 => false,
1237: 1 => false,
1238: 2 => false,
1239: 3 => false,
1240: 4 => false,
1241: 5 => false,
1242: 6 => false,
1243: 7 => true,
1244: 8 => true,
1245: 9 => false,
1246: 10 => false,
1247: 11 => false,
1248: 12 => false,
1249: 13 => false,
1250: 14 => false,
1251: 15 => false,
1252: 16 => false,
1253: 17 => false,
1254: 18 => false,
1255: 19 => false,
1256: 20 => false,
1257: 21 => false,
1258: 22 => false,
1259: 23 => false,
1260: 24 => false,
1261: ),
1262: 3 =>
1263: array (
1264: 0 => false,
1265: 1 => false,
1266: 2 => false,
1267: 3 => false,
1268: 4 => false,
1269: 5 => false,
1270: 6 => false,
1271: 7 => true,
1272: 8 => true,
1273: 9 => false,
1274: 10 => false,
1275: 11 => false,
1276: 12 => false,
1277: 13 => false,
1278: 14 => false,
1279: 15 => false,
1280: 16 => false,
1281: 17 => false,
1282: 18 => false,
1283: 19 => false,
1284: 20 => false,
1285: 21 => false,
1286: 22 => false,
1287: 23 => false,
1288: ),
1289: 4 =>
1290: array (
1291: 0 => false,
1292: 1 => false,
1293: 2 => false,
1294: 3 => false,
1295: ),
1296: 5 =>
1297: array (
1298: 0 => false,
1299: ),
1300: 6 =>
1301: array (
1302: 0 => false,
1303: ),
1304: 7 =>
1305: array (
1306: 0 => false,
1307: 1 => false,
1308: 2 => false,
1309: 3 => false,
1310: ),
1311: 8 =>
1312: array (
1313: 0 => false,
1314: ),
1315: 9 =>
1316: array (
1317: 0 => false,
1318: 1 => false,
1319: 2 => false,
1320: 3 => false,
1321: ),
1322: );
1323: $this->_conditions = array (
1324: );
1325: $this->_kwmap = array (
1326: 'reserved' => 'reserved',
1327: 'missingreserved' => 'reserved',
1328: 'flowcontrol' => 'reserved',
1329: );
1330: $this->_defClass = 'code';
1331: $this->_checkDefines();
1332: }
1333:
1334: }