File Coverage

blib/lib/Syntax/Highlight/Engine/Kate/ILERPG.pm
Criterion Covered Total %
statement 22 90 24.4
branch 0 52 0.0
condition 1 3 33.3
subroutine 4 13 30.7
pod 0 10 0.0
total 27 168 16.0


line stmt bran cond sub pod time code
1             # Copyright (c) 2005 - 2006 Hans Jeuken. All rights reserved.
2             # This program is free software; you can redistribute it and/or
3             # modify it under the same terms as Perl itself.
4              
5             # This file was generated from the 'ilerpg.xml' file of the syntax highlight
6             # engine of the kate text editor (http://www.kate-editor.org
7              
8             #kate xml version 1.03
9             #kate version 2.1
10             #generated: Sun Feb 3 22:02:05 2008, localtime
11              
12             package Syntax::Highlight::Engine::Kate::ILERPG;
13              
14             our $VERSION = '0.14';
15              
16 1     1   510 use strict;
  1         2  
  1         26  
17 1     1   4 use warnings;
  1         2  
  1         24  
18 1     1   4 use base('Syntax::Highlight::Engine::Kate::Template');
  1         3  
  1         1121  
19              
20             sub new {
21 1     1 0 586 my $proto = shift;
22 1   33     7 my $class = ref($proto) || $proto;
23 1         7 my $self = $class->SUPER::new(@_);
24 1         13 $self->attributes({
25             'Base-N' => 'BaseN',
26             'Biff' => 'Keyword',
27             'BoldComment' => 'Alert',
28             'Char' => 'Char',
29             'Comment' => 'Comment',
30             'Constant' => 'DataType',
31             'Decimal' => 'DecVal',
32             'Directive' => 'Others',
33             'DivideComment' => 'Alert',
34             'Fill' => 'Reserved',
35             'Float' => 'Float',
36             'Hex' => 'BaseN',
37             'Keyword' => 'Keyword',
38             'Normal Text' => 'Normal',
39             'Octal' => 'BaseN',
40             'RegExpr' => 'BaseN',
41             'Symbol' => 'Normal',
42             });
43 1         6 $self->listAdd('biffs',
44             'ABS',
45             'ADDR',
46             'CHAR',
47             'DEC',
48             'DECH',
49             'DECPOS',
50             'EDITC',
51             'EDITFLT',
52             'EDITW',
53             'ELEM',
54             'EOF',
55             'EQUAL',
56             'ERROR',
57             'FLOAT',
58             'FOUND',
59             'INT',
60             'INTH',
61             'LEN',
62             'NULLIND',
63             'OPEN',
64             'PADDR',
65             'PARMS',
66             'REPLACE',
67             'SCAN',
68             'SIZE',
69             'STATUS',
70             'STR',
71             'SUBST',
72             'TRIM',
73             'TRIML',
74             'TRIMR',
75             'UNS',
76             'UNSH',
77             );
78 1         6 $self->listAdd('opcodes',
79             '*BLANKS',
80             'ACQ',
81             'ADD',
82             'ADDDUR',
83             'ALLOC',
84             'AND',
85             'ANDEQ',
86             'ANDGE',
87             'ANDGT',
88             'ANDLE',
89             'ANDLT',
90             'ANDNE',
91             'BEGSR',
92             'BITOFF',
93             'BITON',
94             'CAB',
95             'CABEQ',
96             'CABGE',
97             'CABGT',
98             'CABLE',
99             'CABLT',
100             'CABNE',
101             'CALL',
102             'CALLB',
103             'CALLP',
104             'CAS',
105             'CASEQ',
106             'CASGE',
107             'CASGT',
108             'CASLE',
109             'CASLT',
110             'CASNE',
111             'CAT',
112             'CHAIN',
113             'CHECK',
114             'CHECKR',
115             'CLEAR',
116             'CLOSE',
117             'COMMIT',
118             'COMP',
119             'DEALLOC',
120             'DEFINE',
121             'DELETE',
122             'DIV',
123             'DO',
124             'DOU',
125             'DOUEQ',
126             'DOUGE',
127             'DOUGT',
128             'DOULE',
129             'DOULT',
130             'DOUNE',
131             'DOW',
132             'DOWEQ',
133             'DOWGE',
134             'DOWGT',
135             'DOWLE',
136             'DOWLT',
137             'DOWNE',
138             'DSPLY',
139             'DUMP',
140             'ELSE',
141             'END',
142             'ENDCS',
143             'ENDDO',
144             'ENDIF',
145             'ENDSL',
146             'ENDSR',
147             'EVAL',
148             'EXCEPT',
149             'EXFMT',
150             'EXSR',
151             'EXTRCT',
152             'FEOD',
153             'FORCE',
154             'GOTO',
155             'IF',
156             'IFEQ',
157             'IFGE',
158             'IFGT',
159             'IFLE',
160             'IFLT',
161             'IFNE',
162             'IN',
163             'ITER',
164             'KFLD',
165             'KLIST',
166             'LEAVE',
167             'LOOKUP',
168             'MHHZO',
169             'MHLZO',
170             'MLHZO',
171             'MLLZO',
172             'MOVE',
173             'MOVEA',
174             'MOVEL',
175             'MULT',
176             'MVR',
177             'NEXT',
178             'OCCUR',
179             'OPEN',
180             'OR',
181             'OREQ',
182             'ORGE',
183             'ORGT',
184             'ORLE',
185             'ORLT',
186             'ORNE',
187             'OTHER',
188             'OUT',
189             'PARM',
190             'PLIST',
191             'POST',
192             'READ',
193             'READC',
194             'READE',
195             'READP',
196             'READPE',
197             'REALLOC',
198             'REL',
199             'RESET',
200             'RETURN',
201             'ROLBK',
202             'SCAN',
203             'SELECT',
204             'SETGT',
205             'SETLL',
206             'SETOFF',
207             'SETON',
208             'SHTDN',
209             'SORTA',
210             'SQRT',
211             'SUB',
212             'SUBDUR',
213             'SUBST',
214             'TAG',
215             'TEST',
216             'TESTB',
217             'TESTN',
218             'TESTZ',
219             'TIME',
220             'UNLOCK',
221             'UPDATE',
222             'WHEN',
223             'WHENEQ',
224             'WHENGE',
225             'WHENGT',
226             'WHENLE',
227             'WHENLT',
228             'WHENNR',
229             'WRITE',
230             'XFOOT',
231             'XLATE',
232             'Z-ADD',
233             'Z-SUB',
234             );
235 1         17 $self->contextdata({
236             'Default' => {
237             callback => \&parseDefault,
238             attribute => 'Normal Text',
239             },
240             'context1' => {
241             callback => \&parsecontext1,
242             attribute => 'Normal Text',
243             lineending => '#pop',
244             },
245             'context3' => {
246             callback => \&parsecontext3,
247             attribute => 'Comment',
248             lineending => '#pop',
249             },
250             'context4' => {
251             callback => \&parsecontext4,
252             attribute => 'Constant',
253             },
254             'context5' => {
255             callback => \&parsecontext5,
256             attribute => 'Constant',
257             },
258             'context6' => {
259             callback => \&parsecontext6,
260             attribute => 'Keyword',
261             lineending => '#pop#pop',
262             },
263             'context7' => {
264             callback => \&parsecontext7,
265             attribute => 'BoldComment',
266             lineending => 'Default',
267             },
268             'context8' => {
269             callback => \&parsecontext8,
270             attribute => 'Biff',
271             lineending => '#pop#pop#pop',
272             },
273             });
274 1         5 $self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\');
275 1         5 $self->basecontext('Default');
276 1         4 $self->keywordscase(0);
277 1         3 $self->initialize;
278 1         2 bless ($self, $class);
279 1         3 return $self;
280             }
281              
282             sub language {
283 0     0 0   return 'ILERPG';
284             }
285              
286             sub parseDefault {
287 0     0 0   my ($self, $text) = @_;
288             # String => '[POIHFDC ]?\*'
289             # attribute => 'Comment'
290             # context => 'context3'
291             # type => 'RegExpr'
292 0 0         if ($self->testRegExpr($text, '[POIHFDC ]?\\*', 0, 0, 0, undef, 0, 'context3', 'Comment')) {
293 0           return 1
294             }
295             # String => 'POIHFDC'
296             # attribute => 'Keyword'
297             # context => 'context1'
298             # type => 'AnyChar'
299 0 0         if ($self->testAnyChar($text, 'POIHFDC', 0, 0, undef, 0, 'context1', 'Keyword')) {
300 0           return 1
301             }
302 0           return 0;
303             };
304              
305             sub parsecontext1 {
306 0     0 0   my ($self, $text) = @_;
307             # String => 'opcodes'
308             # attribute => 'Keyword'
309             # context => '#stay'
310             # type => 'keyword'
311 0 0         if ($self->testKeyword($text, 'opcodes', 0, undef, 0, '#stay', 'Keyword')) {
312 0           return 1
313             }
314             # attribute => 'Biff'
315             # char => '%'
316             # context => 'context7'
317             # type => 'DetectChar'
318 0 0         if ($self->testDetectChar($text, '%', 0, 0, 0, undef, 0, 'context7', 'Biff')) {
319 0           return 1
320             }
321             # attribute => 'Constant'
322             # char => '''
323             # context => 'context3'
324             # type => 'DetectChar'
325 0 0         if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, 'context3', 'Constant')) {
326 0           return 1
327             }
328             # attribute => 'Float'
329             # context => '#stay'
330             # type => 'Float'
331 0 0         if ($self->testFloat($text, 0, undef, 0, '#stay', 'Float')) {
332 0           return 1
333             }
334             # String => '[Xx]'[0-9a-fA-F]{2,}''
335             # attribute => 'Hex'
336             # context => '#stay'
337             # type => 'RegExpr'
338 0 0         if ($self->testRegExpr($text, '[Xx]\'[0-9a-fA-F]{2,}\'', 0, 0, 0, undef, 0, '#stay', 'Hex')) {
339 0           return 1
340             }
341             # attribute => 'Decimal'
342             # context => '#stay'
343             # items => 'ARRAY(0x1190f00)'
344             # type => 'Int'
345 0 0         if ($self->testInt($text, 0, undef, 0, '#stay', 'Decimal')) {
346             # String => 'ULL'
347             # attribute => 'Decimal'
348             # context => '#stay'
349             # insensitive => 'TRUE'
350             # type => 'StringDetect'
351 0 0         if ($self->testStringDetect($text, 'ULL', 1, 0, 0, undef, 0, '#stay', 'Decimal')) {
352 0           return 1
353             }
354             # String => 'LUL'
355             # attribute => 'Decimal'
356             # context => '#stay'
357             # insensitive => 'TRUE'
358             # type => 'StringDetect'
359 0 0         if ($self->testStringDetect($text, 'LUL', 1, 0, 0, undef, 0, '#stay', 'Decimal')) {
360 0           return 1
361             }
362             # String => 'LLU'
363             # attribute => 'Decimal'
364             # context => '#stay'
365             # insensitive => 'TRUE'
366             # type => 'StringDetect'
367 0 0         if ($self->testStringDetect($text, 'LLU', 1, 0, 0, undef, 0, '#stay', 'Decimal')) {
368 0           return 1
369             }
370             # String => 'UL'
371             # attribute => 'Decimal'
372             # context => '#stay'
373             # insensitive => 'TRUE'
374             # type => 'StringDetect'
375 0 0         if ($self->testStringDetect($text, 'UL', 1, 0, 0, undef, 0, '#stay', 'Decimal')) {
376 0           return 1
377             }
378             # String => 'LU'
379             # attribute => 'Decimal'
380             # context => '#stay'
381             # insensitive => 'TRUE'
382             # type => 'StringDetect'
383 0 0         if ($self->testStringDetect($text, 'LU', 1, 0, 0, undef, 0, '#stay', 'Decimal')) {
384 0           return 1
385             }
386             # String => 'LL'
387             # attribute => 'Decimal'
388             # context => '#stay'
389             # insensitive => 'TRUE'
390             # type => 'StringDetect'
391 0 0         if ($self->testStringDetect($text, 'LL', 1, 0, 0, undef, 0, '#stay', 'Decimal')) {
392 0           return 1
393             }
394             # String => 'U'
395             # attribute => 'Decimal'
396             # context => '#stay'
397             # insensitive => 'TRUE'
398             # type => 'StringDetect'
399 0 0         if ($self->testStringDetect($text, 'U', 1, 0, 0, undef, 0, '#stay', 'Decimal')) {
400 0           return 1
401             }
402             # String => 'L'
403             # attribute => 'Decimal'
404             # context => '#stay'
405             # insensitive => 'TRUE'
406             # type => 'StringDetect'
407 0 0         if ($self->testStringDetect($text, 'L', 1, 0, 0, undef, 0, '#stay', 'Decimal')) {
408 0           return 1
409             }
410             }
411 0           return 0;
412             };
413              
414             sub parsecontext3 {
415 0     0 0   my ($self, $text) = @_;
416             # String => '\(*(FIXME|TODO)\)*'
417             # attribute => 'BoldComment'
418             # context => '#stay'
419             # type => 'RegExpr'
420 0 0         if ($self->testRegExpr($text, '\\(*(FIXME|TODO)\\)*', 0, 0, 0, undef, 0, '#stay', 'BoldComment')) {
421 0           return 1
422             }
423             # String => '\(*(NOTE:)\)*'
424             # attribute => 'BoldComment'
425             # context => '#stay'
426             # type => 'RegExpr'
427 0 0         if ($self->testRegExpr($text, '\\(*(NOTE:)\\)*', 0, 0, 0, undef, 0, '#stay', 'BoldComment')) {
428 0           return 1
429             }
430             # attribute => 'BoldComment'
431             # char => '!'
432             # context => 'context6'
433             # type => 'DetectChar'
434 0 0         if ($self->testDetectChar($text, '!', 0, 0, 0, undef, 0, 'context6', 'BoldComment')) {
435 0           return 1
436             }
437             # String => '-|='
438             # attribute => 'DivideComment'
439             # context => '#stay'
440             # type => 'RegExpr'
441 0 0         if ($self->testRegExpr($text, '-|=', 0, 0, 0, undef, 0, '#stay', 'DivideComment')) {
442 0           return 1
443             }
444 0           return 0;
445             };
446              
447             sub parsecontext4 {
448 0     0 0   my ($self, $text) = @_;
449             # attribute => 'Constant'
450             # char => '''
451             # context => '#pop'
452             # type => 'DetectChar'
453 0 0         if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, '#pop', 'Constant')) {
454 0           return 1
455             }
456 0           return 0;
457             };
458              
459             sub parsecontext5 {
460 0     0 0   my ($self, $text) = @_;
461             # String => 'FHDICO'
462             # attribute => 'Normal Text'
463             # context => '#stay'
464             # type => 'AnyChar'
465 0 0         if ($self->testAnyChar($text, 'FHDICO', 0, 0, undef, 0, '#stay', 'Normal Text')) {
466 0           return 1
467             }
468             # attribute => 'Constant'
469             # char => ' '
470             # context => '#pop'
471             # type => 'DetectChar'
472 0 0         if ($self->testDetectChar($text, ' ', 0, 0, 0, undef, 0, '#pop', 'Constant')) {
473 0           return 1
474             }
475 0           return 0;
476             };
477              
478             sub parsecontext6 {
479 0     0 0   my ($self, $text) = @_;
480 0           return 0;
481             };
482              
483             sub parsecontext7 {
484 0     0 0   my ($self, $text) = @_;
485             # attribute => 'BoldComment'
486             # char => '!'
487             # context => 'context3'
488             # type => 'DetectChar'
489 0 0         if ($self->testDetectChar($text, '!', 0, 0, 0, undef, 0, 'context3', 'BoldComment')) {
490 0           return 1
491             }
492 0           return 0;
493             };
494              
495             sub parsecontext8 {
496 0     0 0   my ($self, $text) = @_;
497             # String => 'biffs'
498             # attribute => 'Biff'
499             # context => '#pop#pop'
500             # type => 'keyword'
501 0 0         if ($self->testKeyword($text, 'biffs', 0, undef, 0, '#pop#pop', 'Biff')) {
502 0           return 1
503             }
504             # attribute => 'Biff'
505             # char => ' '
506             # context => '#pop#pop'
507             # type => 'DetectChar'
508 0 0         if ($self->testDetectChar($text, ' ', 0, 0, 0, undef, 0, '#pop#pop', 'Biff')) {
509 0           return 1
510             }
511 0           return 0;
512             };
513              
514              
515             1;
516              
517             __END__