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: class Text_Highlighter_SH extends Text_Highlighter
40: {
41: var $_language = 'sh';
42:
43: 44: 45: 46: 47: 48:
49: function __construct($options=array())
50: {
51:
52: $this->_options = $options;
53: $this->_regs = array (
54: -1 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?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)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
55: 0 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?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)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
56: 1 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?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)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
57: 2 => '/((?m)^(#!)(.*))|(\\{)|(\\()|(\\[)|((use)\\s+([\\w:]*))|((?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)(\\{)([a-z1-9]+)(\\}))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(`)|(\')|(")|((?i)[a-z_]\\w*)|(\\d*\\.?\\d+)/',
58: 3 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
59: 4 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
60: 5 => '/(\\\\\\/)/',
61: 6 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
62: 7 => '/(\\\\\\\\|\\\\"|\\\\\'|\\\\`)/',
63: 8 => '/(\\$#?[1-9\'`@!])|((?i)\\$([a-z1-9_]+|\\^(?-i)[A-Z]?(?i)))|((?i)[\\$@%]#?\\{[a-z1-9]+\\})|(\\\\[\\\\"\'`tnr\\$\\{@])/',
64: );
65: $this->_counts = array (
66: -1 =>
67: array (
68: 0 => 2,
69: 1 => 0,
70: 2 => 0,
71: 3 => 0,
72: 4 => 2,
73: 5 => 9,
74: 6 => 9,
75: 7 => 0,
76: 8 => 8,
77: 9 => 5,
78: 10 => 0,
79: 11 => 0,
80: 12 => 3,
81: 13 => 1,
82: 14 => 3,
83: 15 => 0,
84: 16 => 0,
85: 17 => 0,
86: 18 => 0,
87: 19 => 0,
88: 20 => 0,
89: ),
90: 0 =>
91: array (
92: 0 => 2,
93: 1 => 0,
94: 2 => 0,
95: 3 => 0,
96: 4 => 2,
97: 5 => 9,
98: 6 => 9,
99: 7 => 0,
100: 8 => 8,
101: 9 => 5,
102: 10 => 0,
103: 11 => 0,
104: 12 => 3,
105: 13 => 1,
106: 14 => 3,
107: 15 => 0,
108: 16 => 0,
109: 17 => 0,
110: 18 => 0,
111: 19 => 0,
112: 20 => 0,
113: ),
114: 1 =>
115: array (
116: 0 => 2,
117: 1 => 0,
118: 2 => 0,
119: 3 => 0,
120: 4 => 2,
121: 5 => 9,
122: 6 => 9,
123: 7 => 0,
124: 8 => 8,
125: 9 => 5,
126: 10 => 0,
127: 11 => 2,
128: 12 => 0,
129: 13 => 3,
130: 14 => 1,
131: 15 => 3,
132: 16 => 0,
133: 17 => 0,
134: 18 => 0,
135: 19 => 0,
136: 20 => 0,
137: 21 => 0,
138: ),
139: 2 =>
140: array (
141: 0 => 2,
142: 1 => 0,
143: 2 => 0,
144: 3 => 0,
145: 4 => 2,
146: 5 => 9,
147: 6 => 9,
148: 7 => 0,
149: 8 => 8,
150: 9 => 5,
151: 10 => 0,
152: 11 => 0,
153: 12 => 3,
154: 13 => 1,
155: 14 => 3,
156: 15 => 0,
157: 16 => 0,
158: 17 => 0,
159: 18 => 0,
160: 19 => 0,
161: 20 => 0,
162: ),
163: 3 =>
164: array (
165: 0 => 0,
166: 1 => 1,
167: 2 => 0,
168: 3 => 0,
169: ),
170: 4 =>
171: array (
172: 0 => 0,
173: ),
174: 5 =>
175: array (
176: 0 => 0,
177: ),
178: 6 =>
179: array (
180: 0 => 0,
181: 1 => 1,
182: 2 => 0,
183: 3 => 0,
184: ),
185: 7 =>
186: array (
187: 0 => 0,
188: ),
189: 8 =>
190: array (
191: 0 => 0,
192: 1 => 1,
193: 2 => 0,
194: 3 => 0,
195: ),
196: );
197: $this->_delim = array (
198: -1 =>
199: array (
200: 0 => '',
201: 1 => 'brackets',
202: 2 => 'brackets',
203: 3 => 'brackets',
204: 4 => '',
205: 5 => 'quotes',
206: 6 => 'quotes',
207: 7 => '',
208: 8 => '',
209: 9 => '',
210: 10 => 'quotes',
211: 11 => '',
212: 12 => '',
213: 13 => '',
214: 14 => '',
215: 15 => '',
216: 16 => 'quotes',
217: 17 => 'quotes',
218: 18 => 'quotes',
219: 19 => '',
220: 20 => '',
221: ),
222: 0 =>
223: array (
224: 0 => '',
225: 1 => 'brackets',
226: 2 => 'brackets',
227: 3 => 'brackets',
228: 4 => '',
229: 5 => 'quotes',
230: 6 => 'quotes',
231: 7 => '',
232: 8 => '',
233: 9 => '',
234: 10 => 'quotes',
235: 11 => '',
236: 12 => '',
237: 13 => '',
238: 14 => '',
239: 15 => '',
240: 16 => 'quotes',
241: 17 => 'quotes',
242: 18 => 'quotes',
243: 19 => '',
244: 20 => '',
245: ),
246: 1 =>
247: array (
248: 0 => '',
249: 1 => 'brackets',
250: 2 => 'brackets',
251: 3 => 'brackets',
252: 4 => '',
253: 5 => 'quotes',
254: 6 => 'quotes',
255: 7 => '',
256: 8 => '',
257: 9 => '',
258: 10 => 'quotes',
259: 11 => '',
260: 12 => '',
261: 13 => '',
262: 14 => '',
263: 15 => '',
264: 16 => '',
265: 17 => 'quotes',
266: 18 => 'quotes',
267: 19 => 'quotes',
268: 20 => '',
269: 21 => '',
270: ),
271: 2 =>
272: array (
273: 0 => '',
274: 1 => 'brackets',
275: 2 => 'brackets',
276: 3 => 'brackets',
277: 4 => '',
278: 5 => 'quotes',
279: 6 => 'quotes',
280: 7 => '',
281: 8 => '',
282: 9 => '',
283: 10 => 'quotes',
284: 11 => '',
285: 12 => '',
286: 13 => '',
287: 14 => '',
288: 15 => '',
289: 16 => 'quotes',
290: 17 => 'quotes',
291: 18 => 'quotes',
292: 19 => '',
293: 20 => '',
294: ),
295: 3 =>
296: array (
297: 0 => '',
298: 1 => '',
299: 2 => '',
300: 3 => '',
301: ),
302: 4 =>
303: array (
304: 0 => '',
305: ),
306: 5 =>
307: array (
308: 0 => '',
309: ),
310: 6 =>
311: array (
312: 0 => '',
313: 1 => '',
314: 2 => '',
315: 3 => '',
316: ),
317: 7 =>
318: array (
319: 0 => '',
320: ),
321: 8 =>
322: array (
323: 0 => '',
324: 1 => '',
325: 2 => '',
326: 3 => '',
327: ),
328: );
329: $this->_inner = array (
330: -1 =>
331: array (
332: 0 => 'special',
333: 1 => 'code',
334: 2 => 'code',
335: 3 => 'code',
336: 4 => 'special',
337: 5 => 'string',
338: 6 => 'string',
339: 7 => 'comment',
340: 8 => 'string',
341: 9 => 'string',
342: 10 => 'string',
343: 11 => 'var',
344: 12 => 'var',
345: 13 => 'var',
346: 14 => 'var',
347: 15 => 'var',
348: 16 => 'string',
349: 17 => 'string',
350: 18 => 'string',
351: 19 => 'identifier',
352: 20 => 'number',
353: ),
354: 0 =>
355: array (
356: 0 => 'special',
357: 1 => 'code',
358: 2 => 'code',
359: 3 => 'code',
360: 4 => 'special',
361: 5 => 'string',
362: 6 => 'string',
363: 7 => 'comment',
364: 8 => 'string',
365: 9 => 'string',
366: 10 => 'string',
367: 11 => 'var',
368: 12 => 'var',
369: 13 => 'var',
370: 14 => 'var',
371: 15 => 'var',
372: 16 => 'string',
373: 17 => 'string',
374: 18 => 'string',
375: 19 => 'identifier',
376: 20 => 'number',
377: ),
378: 1 =>
379: array (
380: 0 => 'special',
381: 1 => 'code',
382: 2 => 'code',
383: 3 => 'code',
384: 4 => 'special',
385: 5 => 'string',
386: 6 => 'string',
387: 7 => 'comment',
388: 8 => 'string',
389: 9 => 'string',
390: 10 => 'string',
391: 11 => 'string',
392: 12 => 'var',
393: 13 => 'var',
394: 14 => 'var',
395: 15 => 'var',
396: 16 => 'var',
397: 17 => 'string',
398: 18 => 'string',
399: 19 => 'string',
400: 20 => 'identifier',
401: 21 => 'number',
402: ),
403: 2 =>
404: array (
405: 0 => 'special',
406: 1 => 'code',
407: 2 => 'code',
408: 3 => 'code',
409: 4 => 'special',
410: 5 => 'string',
411: 6 => 'string',
412: 7 => 'comment',
413: 8 => 'string',
414: 9 => 'string',
415: 10 => 'string',
416: 11 => 'var',
417: 12 => 'var',
418: 13 => 'var',
419: 14 => 'var',
420: 15 => 'var',
421: 16 => 'string',
422: 17 => 'string',
423: 18 => 'string',
424: 19 => 'identifier',
425: 20 => 'number',
426: ),
427: 3 =>
428: array (
429: 0 => 'var',
430: 1 => 'var',
431: 2 => 'var',
432: 3 => 'special',
433: ),
434: 4 =>
435: array (
436: 0 => 'special',
437: ),
438: 5 =>
439: array (
440: 0 => 'string',
441: ),
442: 6 =>
443: array (
444: 0 => 'var',
445: 1 => 'var',
446: 2 => 'var',
447: 3 => 'special',
448: ),
449: 7 =>
450: array (
451: 0 => 'special',
452: ),
453: 8 =>
454: array (
455: 0 => 'var',
456: 1 => 'var',
457: 2 => 'var',
458: 3 => 'special',
459: ),
460: );
461: $this->_end = array (
462: 0 => '/\\}/',
463: 1 => '/\\)/',
464: 2 => '/\\]/',
465: 3 => '/%b2%/',
466: 4 => '/%b2%/',
467: 5 => '/\\/[cgimosx]*/',
468: 6 => '/`/',
469: 7 => '/\'/',
470: 8 => '/"/',
471: );
472: $this->_states = array (
473: -1 =>
474: array (
475: 0 => -1,
476: 1 => 0,
477: 2 => 1,
478: 3 => 2,
479: 4 => -1,
480: 5 => 3,
481: 6 => 4,
482: 7 => -1,
483: 8 => -1,
484: 9 => -1,
485: 10 => 5,
486: 11 => -1,
487: 12 => -1,
488: 13 => -1,
489: 14 => -1,
490: 15 => -1,
491: 16 => 6,
492: 17 => 7,
493: 18 => 8,
494: 19 => -1,
495: 20 => -1,
496: ),
497: 0 =>
498: array (
499: 0 => -1,
500: 1 => 0,
501: 2 => 1,
502: 3 => 2,
503: 4 => -1,
504: 5 => 3,
505: 6 => 4,
506: 7 => -1,
507: 8 => -1,
508: 9 => -1,
509: 10 => 5,
510: 11 => -1,
511: 12 => -1,
512: 13 => -1,
513: 14 => -1,
514: 15 => -1,
515: 16 => 6,
516: 17 => 7,
517: 18 => 8,
518: 19 => -1,
519: 20 => -1,
520: ),
521: 1 =>
522: array (
523: 0 => -1,
524: 1 => 0,
525: 2 => 1,
526: 3 => 2,
527: 4 => -1,
528: 5 => 3,
529: 6 => 4,
530: 7 => -1,
531: 8 => -1,
532: 9 => -1,
533: 10 => 5,
534: 11 => -1,
535: 12 => -1,
536: 13 => -1,
537: 14 => -1,
538: 15 => -1,
539: 16 => -1,
540: 17 => 6,
541: 18 => 7,
542: 19 => 8,
543: 20 => -1,
544: 21 => -1,
545: ),
546: 2 =>
547: array (
548: 0 => -1,
549: 1 => 0,
550: 2 => 1,
551: 3 => 2,
552: 4 => -1,
553: 5 => 3,
554: 6 => 4,
555: 7 => -1,
556: 8 => -1,
557: 9 => -1,
558: 10 => 5,
559: 11 => -1,
560: 12 => -1,
561: 13 => -1,
562: 14 => -1,
563: 15 => -1,
564: 16 => 6,
565: 17 => 7,
566: 18 => 8,
567: 19 => -1,
568: 20 => -1,
569: ),
570: 3 =>
571: array (
572: 0 => -1,
573: 1 => -1,
574: 2 => -1,
575: 3 => -1,
576: ),
577: 4 =>
578: array (
579: 0 => -1,
580: ),
581: 5 =>
582: array (
583: 0 => -1,
584: ),
585: 6 =>
586: array (
587: 0 => -1,
588: 1 => -1,
589: 2 => -1,
590: 3 => -1,
591: ),
592: 7 =>
593: array (
594: 0 => -1,
595: ),
596: 8 =>
597: array (
598: 0 => -1,
599: 1 => -1,
600: 2 => -1,
601: 3 => -1,
602: ),
603: );
604: $this->_keywords = array (
605: -1 =>
606: array (
607: 0 =>
608: array (
609: ),
610: 1 => -1,
611: 2 => -1,
612: 3 => -1,
613: 4 =>
614: array (
615: ),
616: 5 => -1,
617: 6 => -1,
618: 7 =>
619: array (
620: ),
621: 8 =>
622: array (
623: ),
624: 9 =>
625: array (
626: ),
627: 10 => -1,
628: 11 =>
629: array (
630: ),
631: 12 =>
632: array (
633: ),
634: 13 =>
635: array (
636: ),
637: 14 =>
638: array (
639: ),
640: 15 =>
641: array (
642: ),
643: 16 => -1,
644: 17 => -1,
645: 18 => -1,
646: 19 =>
647: array (
648: 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
649: 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
650: ),
651: 20 =>
652: array (
653: ),
654: ),
655: 0 =>
656: array (
657: 0 =>
658: array (
659: ),
660: 1 => -1,
661: 2 => -1,
662: 3 => -1,
663: 4 =>
664: array (
665: ),
666: 5 => -1,
667: 6 => -1,
668: 7 =>
669: array (
670: ),
671: 8 =>
672: array (
673: ),
674: 9 =>
675: array (
676: ),
677: 10 => -1,
678: 11 =>
679: array (
680: ),
681: 12 =>
682: array (
683: ),
684: 13 =>
685: array (
686: ),
687: 14 =>
688: array (
689: ),
690: 15 =>
691: array (
692: ),
693: 16 => -1,
694: 17 => -1,
695: 18 => -1,
696: 19 =>
697: array (
698: 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
699: 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
700: ),
701: 20 =>
702: array (
703: ),
704: ),
705: 1 =>
706: array (
707: 0 =>
708: array (
709: ),
710: 1 => -1,
711: 2 => -1,
712: 3 => -1,
713: 4 =>
714: array (
715: ),
716: 5 => -1,
717: 6 => -1,
718: 7 =>
719: array (
720: ),
721: 8 =>
722: array (
723: ),
724: 9 =>
725: array (
726: ),
727: 10 => -1,
728: 11 =>
729: array (
730: ),
731: 12 =>
732: array (
733: ),
734: 13 =>
735: array (
736: ),
737: 14 =>
738: array (
739: ),
740: 15 =>
741: array (
742: ),
743: 16 =>
744: array (
745: ),
746: 17 => -1,
747: 18 => -1,
748: 19 => -1,
749: 20 =>
750: array (
751: 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
752: 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
753: ),
754: 21 =>
755: array (
756: ),
757: ),
758: 2 =>
759: array (
760: 0 =>
761: array (
762: ),
763: 1 => -1,
764: 2 => -1,
765: 3 => -1,
766: 4 =>
767: array (
768: ),
769: 5 => -1,
770: 6 => -1,
771: 7 =>
772: array (
773: ),
774: 8 =>
775: array (
776: ),
777: 9 =>
778: array (
779: ),
780: 10 => -1,
781: 11 =>
782: array (
783: ),
784: 12 =>
785: array (
786: ),
787: 13 =>
788: array (
789: ),
790: 14 =>
791: array (
792: ),
793: 15 =>
794: array (
795: ),
796: 16 => -1,
797: 17 => -1,
798: 18 => -1,
799: 19 =>
800: array (
801: 'reserved' => '/^(cd|cp|rm|echo|printf|exit|cut|join|comm|fmt|grep|egrep|fgrep|sed|awk|yes|false|true|test|expr|tee|basename|dirname|pathchk|pwd|stty|tty|env|printenv|id|logname|whoami|groups|users|who|date|uname|hostname|chroot|nice|nohup|sleep|factor|seq|getopt|getopts|options|shift)$/',
802: 'flowcontrol' => '/^(if|fi|then|else|elif|case|esac|while|done|for|in|function|until|do|select|time|read|set)$/',
803: ),
804: 20 =>
805: array (
806: ),
807: ),
808: 3 =>
809: array (
810: 0 =>
811: array (
812: ),
813: 1 =>
814: array (
815: ),
816: 2 =>
817: array (
818: ),
819: 3 =>
820: array (
821: ),
822: ),
823: 4 =>
824: array (
825: 0 =>
826: array (
827: ),
828: ),
829: 5 =>
830: array (
831: 0 =>
832: array (
833: ),
834: ),
835: 6 =>
836: array (
837: 0 =>
838: array (
839: ),
840: 1 =>
841: array (
842: ),
843: 2 =>
844: array (
845: ),
846: 3 =>
847: array (
848: ),
849: ),
850: 7 =>
851: array (
852: 0 =>
853: array (
854: ),
855: ),
856: 8 =>
857: array (
858: 0 =>
859: array (
860: ),
861: 1 =>
862: array (
863: ),
864: 2 =>
865: array (
866: ),
867: 3 =>
868: array (
869: ),
870: ),
871: );
872: $this->_parts = array (
873: 0 =>
874: array (
875: 0 =>
876: array (
877: 1 => 'special',
878: 2 => 'string',
879: ),
880: 1 => NULL,
881: 2 => NULL,
882: 3 => NULL,
883: 4 =>
884: array (
885: 1 => 'reserved',
886: 2 => 'special',
887: ),
888: 5 => NULL,
889: 6 => NULL,
890: 7 => NULL,
891: 8 =>
892: array (
893: 1 => 'quotes',
894: 2 => 'quotes',
895: 3 => 'string',
896: 5 => 'quotes',
897: 6 => 'string',
898: 8 => 'quotes',
899: ),
900: 9 =>
901: array (
902: 1 => 'quotes',
903: 2 => 'quotes',
904: 3 => 'string',
905: 5 => 'quotes',
906: ),
907: 10 => NULL,
908: 11 => NULL,
909: 12 => NULL,
910: 13 => NULL,
911: 14 =>
912: array (
913: 1 => 'brackets',
914: 2 => 'var',
915: 3 => 'brackets',
916: ),
917: 15 => NULL,
918: 16 => NULL,
919: 17 => NULL,
920: 18 => NULL,
921: 19 => NULL,
922: 20 => NULL,
923: ),
924: 1 =>
925: array (
926: 0 =>
927: array (
928: 1 => 'special',
929: 2 => 'string',
930: ),
931: 1 => NULL,
932: 2 => NULL,
933: 3 => NULL,
934: 4 =>
935: array (
936: 1 => 'reserved',
937: 2 => 'special',
938: ),
939: 5 => NULL,
940: 6 => NULL,
941: 7 => NULL,
942: 8 =>
943: array (
944: 1 => 'quotes',
945: 2 => 'quotes',
946: 3 => 'string',
947: 5 => 'quotes',
948: 6 => 'string',
949: 8 => 'quotes',
950: ),
951: 9 =>
952: array (
953: 1 => 'quotes',
954: 2 => 'quotes',
955: 3 => 'string',
956: 5 => 'quotes',
957: ),
958: 10 => NULL,
959: 11 =>
960: array (
961: 1 => 'string',
962: 2 => 'code',
963: ),
964: 12 => NULL,
965: 13 => NULL,
966: 14 => NULL,
967: 15 =>
968: array (
969: 1 => 'brackets',
970: 2 => 'var',
971: 3 => 'brackets',
972: ),
973: 16 => NULL,
974: 17 => NULL,
975: 18 => NULL,
976: 19 => NULL,
977: 20 => NULL,
978: 21 => NULL,
979: ),
980: 2 =>
981: array (
982: 0 =>
983: array (
984: 1 => 'special',
985: 2 => 'string',
986: ),
987: 1 => NULL,
988: 2 => NULL,
989: 3 => NULL,
990: 4 =>
991: array (
992: 1 => 'reserved',
993: 2 => 'special',
994: ),
995: 5 => NULL,
996: 6 => NULL,
997: 7 => NULL,
998: 8 =>
999: array (
1000: 1 => 'quotes',
1001: 2 => 'quotes',
1002: 3 => 'string',
1003: 5 => 'quotes',
1004: 6 => 'string',
1005: 8 => 'quotes',
1006: ),
1007: 9 =>
1008: array (
1009: 1 => 'quotes',
1010: 2 => 'quotes',
1011: 3 => 'string',
1012: 5 => 'quotes',
1013: ),
1014: 10 => NULL,
1015: 11 => NULL,
1016: 12 => NULL,
1017: 13 => NULL,
1018: 14 =>
1019: array (
1020: 1 => 'brackets',
1021: 2 => 'var',
1022: 3 => 'brackets',
1023: ),
1024: 15 => NULL,
1025: 16 => NULL,
1026: 17 => NULL,
1027: 18 => NULL,
1028: 19 => NULL,
1029: 20 => NULL,
1030: ),
1031: 3 =>
1032: array (
1033: 0 => NULL,
1034: 1 => NULL,
1035: 2 => NULL,
1036: 3 => NULL,
1037: ),
1038: 4 =>
1039: array (
1040: 0 => NULL,
1041: ),
1042: 5 =>
1043: array (
1044: 0 => NULL,
1045: ),
1046: 6 =>
1047: array (
1048: 0 => NULL,
1049: 1 => NULL,
1050: 2 => NULL,
1051: 3 => NULL,
1052: ),
1053: 7 =>
1054: array (
1055: 0 => NULL,
1056: ),
1057: 8 =>
1058: array (
1059: 0 => NULL,
1060: 1 => NULL,
1061: 2 => NULL,
1062: 3 => NULL,
1063: ),
1064: );
1065: $this->_subst = array (
1066: -1 =>
1067: array (
1068: 0 => false,
1069: 1 => false,
1070: 2 => false,
1071: 3 => false,
1072: 4 => false,
1073: 5 => true,
1074: 6 => true,
1075: 7 => false,
1076: 8 => false,
1077: 9 => false,
1078: 10 => false,
1079: 11 => false,
1080: 12 => false,
1081: 13 => false,
1082: 14 => false,
1083: 15 => false,
1084: 16 => false,
1085: 17 => false,
1086: 18 => false,
1087: 19 => false,
1088: 20 => false,
1089: ),
1090: 0 =>
1091: array (
1092: 0 => false,
1093: 1 => false,
1094: 2 => false,
1095: 3 => false,
1096: 4 => false,
1097: 5 => true,
1098: 6 => true,
1099: 7 => false,
1100: 8 => false,
1101: 9 => false,
1102: 10 => false,
1103: 11 => false,
1104: 12 => false,
1105: 13 => false,
1106: 14 => false,
1107: 15 => false,
1108: 16 => false,
1109: 17 => false,
1110: 18 => false,
1111: 19 => false,
1112: 20 => false,
1113: ),
1114: 1 =>
1115: array (
1116: 0 => false,
1117: 1 => false,
1118: 2 => false,
1119: 3 => false,
1120: 4 => false,
1121: 5 => true,
1122: 6 => true,
1123: 7 => false,
1124: 8 => false,
1125: 9 => false,
1126: 10 => false,
1127: 11 => false,
1128: 12 => false,
1129: 13 => false,
1130: 14 => false,
1131: 15 => false,
1132: 16 => false,
1133: 17 => false,
1134: 18 => false,
1135: 19 => false,
1136: 20 => false,
1137: 21 => false,
1138: ),
1139: 2 =>
1140: array (
1141: 0 => false,
1142: 1 => false,
1143: 2 => false,
1144: 3 => false,
1145: 4 => false,
1146: 5 => true,
1147: 6 => true,
1148: 7 => false,
1149: 8 => false,
1150: 9 => false,
1151: 10 => false,
1152: 11 => false,
1153: 12 => false,
1154: 13 => false,
1155: 14 => false,
1156: 15 => false,
1157: 16 => false,
1158: 17 => false,
1159: 18 => false,
1160: 19 => false,
1161: 20 => false,
1162: ),
1163: 3 =>
1164: array (
1165: 0 => false,
1166: 1 => false,
1167: 2 => false,
1168: 3 => false,
1169: ),
1170: 4 =>
1171: array (
1172: 0 => false,
1173: ),
1174: 5 =>
1175: array (
1176: 0 => false,
1177: ),
1178: 6 =>
1179: array (
1180: 0 => false,
1181: 1 => false,
1182: 2 => false,
1183: 3 => false,
1184: ),
1185: 7 =>
1186: array (
1187: 0 => false,
1188: ),
1189: 8 =>
1190: array (
1191: 0 => false,
1192: 1 => false,
1193: 2 => false,
1194: 3 => false,
1195: ),
1196: );
1197: $this->_conditions = array (
1198: );
1199: $this->_kwmap = array (
1200: 'reserved' => 'reserved',
1201: 'flowcontrol' => 'reserved',
1202: );
1203: $this->_defClass = 'code';
1204: $this->_checkDefines();
1205: }
1206:
1207: }