File Coverage

blib/lib/Syntax/Highlight/Engine/Kate/ASP.pm
Criterion Covered Total %
statement 119 220 54.0
branch 82 170 48.2
condition 1 3 33.3
subroutine 11 18 61.1
pod 0 15 0.0
total 213 426 50.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 'asp.xml' file of the syntax highlight
6             # engine of the kate text editor (http://www.kate-editor.org
7              
8             #kate xml version 1.02
9             #kate version 2.1
10             #kate author Antonio Salazar (savedfastcool@gmail.com)
11             #generated: Sun Feb 3 22:02:04 2008, localtime
12              
13             package Syntax::Highlight::Engine::Kate::ASP;
14              
15             our $VERSION = '0.07';
16              
17 1     1   1050 use strict;
  1         3  
  1         41  
18 1     1   6 use warnings;
  1         2  
  1         29  
19 1     1   5 use base('Syntax::Highlight::Engine::Kate::Template');
  1         2  
  1         3075  
20              
21             sub new {
22 2     2 0 726 my $proto = shift;
23 2   33     17 my $class = ref($proto) || $proto;
24 2         19 my $self = $class->SUPER::new(@_);
25 2         40 $self->attributes({
26             'ASP Text' => 'Normal',
27             'Comment' => 'Comment',
28             'Control Structures' => 'Operator',
29             'Decimal' => 'DecVal',
30             'Escape Code' => 'Char',
31             'Float' => 'Float',
32             'Function' => 'Function',
33             'HTML Comment' => 'Comment',
34             'HTML Tag' => 'BString',
35             'Hex' => 'BaseN',
36             'Identifier' => 'Others',
37             'Keyword' => 'Keyword',
38             'Normal Text' => 'Normal',
39             'Octal' => 'BaseN',
40             'Other' => 'Others',
41             'String' => 'String',
42             'Types' => 'DataType',
43             'Variable' => 'Variable',
44             });
45 2         16 $self->listAdd('control structures',
46             'case',
47             'continue',
48             'do',
49             'each',
50             'else',
51             'elseif',
52             'end if',
53             'end select',
54             'exit',
55             'for',
56             'if',
57             'in',
58             'loop',
59             'next',
60             'select',
61             'then',
62             'to',
63             'until',
64             'wend',
65             'while',
66             );
67 2         16 $self->listAdd('functions',
68             'Add',
69             'AddFolders',
70             'BuildPath',
71             'Clear',
72             'Close',
73             'Copy',
74             'CopyFile',
75             'CopyFolder',
76             'CreateFolder',
77             'CreateTextFile',
78             'Date',
79             'DateDiff',
80             'DatePart',
81             'DateSerial',
82             'DateValue',
83             'Day',
84             'Delete',
85             'DeleteFile',
86             'DeleteFolder',
87             'DriveExists',
88             'Exists',
89             'Exp',
90             'FileExists',
91             'Filter',
92             'Fix',
93             'FolderExists',
94             'FormatCurrency',
95             'FormatDateTime',
96             'FormatNumber',
97             'FormatPercent',
98             'GetAbsolutePathName',
99             'GetBaseName',
100             'GetDrive',
101             'GetDriveName',
102             'GetExtensionName',
103             'GetFile',
104             'GetFileName',
105             'GetFolder',
106             'GetObject',
107             'GetParentFolderName',
108             'GetSpecialFolder',
109             'GetTempName',
110             'Hex',
111             'Hour',
112             'InStr',
113             'InStrRev',
114             'InputBox',
115             'Int',
116             'IsArray',
117             'IsDate',
118             'IsEmpty',
119             'IsNull',
120             'IsNumeric',
121             'IsObject',
122             'Items',
123             'Join',
124             'Keys',
125             'LBound',
126             'LCase',
127             'LTrim',
128             'Left',
129             'Len',
130             'LoadPicture',
131             'Log',
132             'Mid',
133             'Minute',
134             'Month',
135             'MonthName',
136             'Move',
137             'MoveFile',
138             'MoveFolder',
139             'MsgBox',
140             'Now',
141             'Oct',
142             'OpenAsTextStream',
143             'OpenTextFile',
144             'RGB',
145             'RTrim',
146             'Raise',
147             'Read',
148             'ReadAll',
149             'ReadLine',
150             'Remove',
151             'RemoveAll',
152             'Replace',
153             'Right',
154             'Rnd',
155             'Round',
156             'ScriptEngine',
157             'ScriptEngineBuildVersion',
158             'ScriptEngineMajorVersion',
159             'ScriptEngineMinorVersion',
160             'Second',
161             'Sgn',
162             'Sin',
163             'Skip',
164             'SkipLine',
165             'Space',
166             'Split',
167             'Sqr',
168             'StrComp',
169             'StrReverse',
170             'String',
171             'Tan',
172             'Time',
173             'TimeSerial',
174             'TimeValue',
175             'Timer',
176             'Trim',
177             'TypeName',
178             'UBound',
179             'UCase',
180             'VarType',
181             'Weekday',
182             'WeekdayName',
183             'Write',
184             'WriteBlankLines',
185             'WriteLine',
186             'Year',
187             'abs',
188             'array',
189             'asc',
190             'atn',
191             'cbool',
192             'cbyte',
193             'ccur',
194             'cdate',
195             'cdbl',
196             'chr',
197             'cint',
198             'clng',
199             'cookies',
200             'cos',
201             'createobject',
202             'csng',
203             'cstr',
204             'date',
205             'dateadd',
206             'end',
207             'form',
208             'item',
209             'querystring',
210             'redirect',
211             'request',
212             'response',
213             'server',
214             'servervariables',
215             'session',
216             'write',
217             );
218 2         10 $self->listAdd('keywords',
219             'and',
220             'call',
221             'class',
222             'close',
223             'const',
224             'dim',
225             'eof',
226             'erase',
227             'execute',
228             'false',
229             'function',
230             'me',
231             'movenext',
232             'new',
233             'not',
234             'nothing',
235             'open',
236             'or',
237             'preserve',
238             'private',
239             'public',
240             'randomize',
241             'redim',
242             'set',
243             'sub',
244             'true',
245             'with',
246             'xor',
247             );
248 2         81 $self->contextdata({
249             'asp_onelinecomment' => {
250             callback => \&parseasp_onelinecomment,
251             attribute => 'Comment',
252             lineending => '#pop',
253             },
254             'aspsource' => {
255             callback => \&parseaspsource,
256             attribute => 'ASP Text',
257             },
258             'doublequotestring' => {
259             callback => \&parsedoublequotestring,
260             attribute => 'String',
261             },
262             'htmlcomment' => {
263             callback => \&parsehtmlcomment,
264             attribute => 'HTML Comment',
265             },
266             'htmltag' => {
267             callback => \&parsehtmltag,
268             attribute => 'Identifier',
269             },
270             'identifiers' => {
271             callback => \&parseidentifiers,
272             attribute => 'Identifier',
273             },
274             'nosource' => {
275             callback => \&parsenosource,
276             attribute => 'Normal Text',
277             },
278             'scripts' => {
279             callback => \&parsescripts,
280             attribute => 'Normal Text',
281             },
282             'scripts_onelinecomment' => {
283             callback => \&parsescripts_onelinecomment,
284             attribute => 'Comment',
285             lineending => '#pop',
286             },
287             'singlequotestring' => {
288             callback => \&parsesinglequotestring,
289             attribute => 'String',
290             },
291             'twolinecomment' => {
292             callback => \&parsetwolinecomment,
293             attribute => 'Comment',
294             },
295             'types1' => {
296             callback => \&parsetypes1,
297             attribute => 'Types',
298             },
299             'types2' => {
300             callback => \&parsetypes2,
301             attribute => 'Types',
302             },
303             });
304 2         17 $self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\');
305 2         11 $self->basecontext('nosource');
306 2         14 $self->keywordscase(0);
307 2         7 $self->initialize;
308 2         7 bless ($self, $class);
309 2         12 return $self;
310             }
311              
312             sub language {
313 0     0 0 0 return 'ASP';
314             }
315              
316             sub parseasp_onelinecomment {
317 660     660 0 1166 my ($self, $text) = @_;
318             # String => '%>'
319             # attribute => 'Keyword'
320             # context => '#pop#pop'
321             # type => 'StringDetect'
322 660 50       1983 if ($self->testStringDetect($text, '%>', 0, 0, 0, undef, 0, '#pop#pop', 'Keyword')) {
323 0         0 return 1
324             }
325 660         1578 return 0;
326             };
327              
328             sub parseaspsource {
329 1128     1128 0 1727 my ($self, $text) = @_;
330             # String => '%>'
331             # attribute => 'Keyword'
332             # context => '#pop'
333             # type => 'StringDetect'
334 1128 100       4309 if ($self->testStringDetect($text, '%>', 0, 0, 0, undef, 0, '#pop', 'Keyword')) {
335 6         20 return 1
336             }
337             # attribute => 'Comment'
338             # char => '''
339             # context => 'asp_onelinecomment'
340             # type => 'DetectChar'
341 1122 100       4415 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, 'asp_onelinecomment', 'Comment')) {
342 16         45 return 1
343             }
344             # attribute => 'String'
345             # char => '"'
346             # context => 'doublequotestring'
347             # type => 'DetectChar'
348 1106 100       3301 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'doublequotestring', 'String')) {
349 24         78 return 1
350             }
351             # attribute => 'String'
352             # char => '''
353             # context => 'singlequotestring'
354             # type => 'DetectChar'
355 1082 50       3581 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, 'singlequotestring', 'String')) {
356 0         0 return 1
357             }
358             # attribute => 'Keyword'
359             # char => '&'
360             # context => '#stay'
361             # type => 'DetectChar'
362 1082 100       3446 if ($self->testDetectChar($text, '&', 0, 0, 0, undef, 0, '#stay', 'Keyword')) {
363 4         11 return 1
364             }
365             # String => ''
366             # attribute => 'String'
367             # context => ''
368             # type => 'RegExpr'
369 1078 50       3607 if ($self->testRegExpr($text, '', 0, 0, 0, undef, 0, '', 'String')) {
370 0         0 return 1
371             }
372             # String => '[0123456789]*\.\.\.[0123456789]*'
373             # attribute => 'String'
374             # context => '#stay'
375             # type => 'RegExpr'
376 1078 50       3725 if ($self->testRegExpr($text, '[0123456789]*\\.\\.\\.[0123456789]*', 0, 0, 0, undef, 0, '#stay', 'String')) {
377 0         0 return 1
378             }
379             # attribute => 'Octal'
380             # context => '#stay'
381             # type => 'HlCOct'
382 1078 50       3737 if ($self->testHlCOct($text, 0, undef, 0, '#stay', 'Octal')) {
383 0         0 return 1
384             }
385             # attribute => 'Hex'
386             # context => '#stay'
387             # type => 'HlCHex'
388 1078 50       3557 if ($self->testHlCHex($text, 0, undef, 0, '#stay', 'Hex')) {
389 0         0 return 1
390             }
391             # attribute => 'Float'
392             # context => '#stay'
393             # type => 'Float'
394 1078 100       3965 if ($self->testFloat($text, 0, undef, 0, '#stay', 'Float')) {
395 22         236 return 1
396             }
397             # attribute => 'Decimal'
398             # context => '#stay'
399             # type => 'Int'
400 1056 50       4614 if ($self->testInt($text, 0, undef, 0, '#stay', 'Decimal')) {
401 0         0 return 1
402             }
403             # String => ';()}{:,[]'
404             # attribute => 'Other'
405             # context => '#stay'
406             # type => 'AnyChar'
407 1056 100       3953 if ($self->testAnyChar($text, ';()}{:,[]', 0, 0, undef, 0, '#stay', 'Other')) {
408 112         296 return 1
409             }
410             # String => '\belseif\b'
411             # attribute => 'Control Structures'
412             # beginRegion => 'iffi1'
413             # context => '#stay'
414             # endRegion => 'iffi1'
415             # insensitive => 'TRUE'
416             # type => 'RegExpr'
417 944 50       3283 if ($self->testRegExpr($text, '\\belseif\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
418 0         0 return 1
419             }
420             # String => '\belse\b'
421             # attribute => 'Control Structures'
422             # beginRegion => 'iffi1'
423             # context => '#stay'
424             # endRegion => 'iffi1'
425             # insensitive => 'TRUE'
426             # type => 'RegExpr'
427 944 100       2992 if ($self->testRegExpr($text, '\\belse\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
428 2         7 return 1
429             }
430             # String => '\bif\b'
431             # attribute => 'Control Structures'
432             # beginRegion => 'iffi1'
433             # context => '#stay'
434             # insensitive => 'TRUE'
435             # type => 'RegExpr'
436 942 100       3041 if ($self->testRegExpr($text, '\\bif\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
437 6         14 return 1
438             }
439             # String => '\bend if\b'
440             # attribute => 'Control Structures'
441             # context => '#stay'
442             # endRegion => 'iffi1'
443             # insensitive => 'TRUE'
444             # type => 'RegExpr'
445 936 100       3064 if ($self->testRegExpr($text, '\\bend if\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
446 6         19 return 1
447             }
448             # String => '\bexit function\b'
449             # attribute => 'Keyword'
450             # context => '#stay'
451             # insensitive => 'TRUE'
452             # type => 'RegExpr'
453 930 50       3091 if ($self->testRegExpr($text, '\\bexit function\\b', 1, 0, 0, undef, 0, '#stay', 'Keyword')) {
454 0         0 return 1
455             }
456             # String => '\bfunction\b'
457             # attribute => 'Keyword'
458             # beginRegion => 'funendfun1'
459             # context => '#stay'
460             # insensitive => 'TRUE'
461             # type => 'RegExpr'
462 930 100       3501 if ($self->testRegExpr($text, '\\bfunction\\b', 1, 0, 0, undef, 0, '#stay', 'Keyword')) {
463 4         14 return 1
464             }
465             # String => '\bend function\b'
466             # attribute => 'Keyword'
467             # context => '#stay'
468             # endRegion => 'funendfun1'
469             # insensitive => 'TRUE'
470             # type => 'RegExpr'
471 926 100       2982 if ($self->testRegExpr($text, '\\bend function\\b', 1, 0, 0, undef, 0, '#stay', 'Keyword')) {
472 4         17 return 1
473             }
474             # String => '\bexit sub\b'
475             # attribute => 'Keyword'
476             # context => '#stay'
477             # insensitive => 'TRUE'
478             # type => 'RegExpr'
479 922 50       3068 if ($self->testRegExpr($text, '\\bexit sub\\b', 1, 0, 0, undef, 0, '#stay', 'Keyword')) {
480 0         0 return 1
481             }
482             # String => '\bsub\b'
483             # attribute => 'Keyword'
484             # beginRegion => 'subendsub1'
485             # context => '#stay'
486             # insensitive => 'TRUE'
487             # type => 'RegExpr'
488 922 100       2861 if ($self->testRegExpr($text, '\\bsub\\b', 1, 0, 0, undef, 0, '#stay', 'Keyword')) {
489 2         8 return 1
490             }
491             # String => '\bend sub\b'
492             # attribute => 'Keyword'
493             # context => '#stay'
494             # endRegion => 'subendsub1'
495             # insensitive => 'TRUE'
496             # type => 'RegExpr'
497 920 100       2939 if ($self->testRegExpr($text, '\\bend sub\\b', 1, 0, 0, undef, 0, '#stay', 'Keyword')) {
498 2         6 return 1
499             }
500             # String => '\bclass\b'
501             # attribute => 'Keyword'
502             # beginRegion => 'classendclass1'
503             # context => '#stay'
504             # insensitive => 'TRUE'
505             # type => 'RegExpr'
506 918 50       2842 if ($self->testRegExpr($text, '\\bclass\\b', 1, 0, 0, undef, 0, '#stay', 'Keyword')) {
507 0         0 return 1
508             }
509             # String => '\bend class\b'
510             # attribute => 'Keyword'
511             # context => '#stay'
512             # endRegion => 'classendclass1'
513             # insensitive => 'TRUE'
514             # type => 'RegExpr'
515 918 50       2869 if ($self->testRegExpr($text, '\\bend class\\b', 1, 0, 0, undef, 0, '#stay', 'Keyword')) {
516 0         0 return 1
517             }
518             # String => '\bexit do\b'
519             # attribute => 'Control Structures'
520             # context => '#stay'
521             # insensitive => 'TRUE'
522             # type => 'RegExpr'
523 918 50       2933 if ($self->testRegExpr($text, '\\bexit do\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
524 0         0 return 1
525             }
526             # String => '\bdo\b'
527             # attribute => 'Control Structures'
528             # beginRegion => 'doloop1'
529             # context => '#stay'
530             # insensitive => 'TRUE'
531             # type => 'RegExpr'
532 918 100       2938 if ($self->testRegExpr($text, '\\bdo\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
533 4         14 return 1
534             }
535             # String => '\bloop\b'
536             # attribute => 'Control Structures'
537             # context => '#stay'
538             # endRegion => 'doloop1'
539             # insensitive => 'TRUE'
540             # type => 'RegExpr'
541 914 100       3107 if ($self->testRegExpr($text, '\\bloop\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
542 4         11 return 1
543             }
544             # String => '\bexit while\b'
545             # attribute => 'Control Structures'
546             # context => '#stay'
547             # insensitive => 'TRUE'
548             # type => 'RegExpr'
549 910 50       2956 if ($self->testRegExpr($text, '\\bexit while\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
550 0         0 return 1
551             }
552             # String => '\bwhile\b'
553             # attribute => 'Control Structures'
554             # beginRegion => 'whilewend1'
555             # context => '#stay'
556             # insensitive => 'TRUE'
557             # type => 'RegExpr'
558 910 50       3116 if ($self->testRegExpr($text, '\\bwhile\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
559 0         0 return 1
560             }
561             # String => '\bwend\b'
562             # attribute => 'Control Structures'
563             # context => '#stay'
564             # endRegion => 'whilewend1'
565             # insensitive => 'TRUE'
566             # type => 'RegExpr'
567 910 50       3064 if ($self->testRegExpr($text, '\\bwend\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
568 0         0 return 1
569             }
570             # String => '\bexit for\b'
571             # attribute => 'Control Structures'
572             # context => '#stay'
573             # insensitive => 'TRUE'
574             # type => 'RegExpr'
575 910 50       2855 if ($self->testRegExpr($text, '\\bexit for\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
576 0         0 return 1
577             }
578             # String => '\bfor\b'
579             # attribute => 'Control Structures'
580             # beginRegion => 'fornext1'
581             # context => '#stay'
582             # insensitive => 'TRUE'
583             # type => 'RegExpr'
584 910 50       3125 if ($self->testRegExpr($text, '\\bfor\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
585 0         0 return 1
586             }
587             # String => '\bnext\b'
588             # attribute => 'Control Structures'
589             # context => '#stay'
590             # endRegion => 'fornext1'
591             # insensitive => 'TRUE'
592             # type => 'RegExpr'
593 910 50       3068 if ($self->testRegExpr($text, '\\bnext\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
594 0         0 return 1
595             }
596             # String => '\bselect case\b'
597             # attribute => 'Control Structures'
598             # beginRegion => 'selcase1'
599             # context => '#stay'
600             # insensitive => 'TRUE'
601             # type => 'RegExpr'
602 910 50       2805 if ($self->testRegExpr($text, '\\bselect case\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
603 0         0 return 1
604             }
605             # String => '\bend select\b'
606             # attribute => 'Control Structures'
607             # context => '#stay'
608             # endRegion => 'selcase1'
609             # insensitive => 'TRUE'
610             # type => 'RegExpr'
611 910 50       3039 if ($self->testRegExpr($text, '\\bend select\\b', 1, 0, 0, undef, 0, '#stay', 'Control Structures')) {
612 0         0 return 1
613             }
614             # String => 'keywords'
615             # attribute => 'Keyword'
616             # context => '#stay'
617             # type => 'keyword'
618 910 100       4609 if ($self->testKeyword($text, 'keywords', 0, undef, 0, '#stay', 'Keyword')) {
619 38         131 return 1
620             }
621             # String => 'control structures'
622             # attribute => 'Control Structures'
623             # context => '#stay'
624             # type => 'keyword'
625 872 100       2862 if ($self->testKeyword($text, 'control structures', 0, undef, 0, '#stay', 'Control Structures')) {
626 8         26 return 1
627             }
628             # String => 'functions'
629             # attribute => 'Function'
630             # context => '#stay'
631             # type => 'keyword'
632 864 100       3251 if ($self->testKeyword($text, 'functions', 0, undef, 0, '#stay', 'Function')) {
633 38         117 return 1
634             }
635 826         2336 return 0;
636             };
637              
638             sub parsedoublequotestring {
639 234     234 0 307 my ($self, $text) = @_;
640             # attribute => 'Escape Code'
641             # char => '"'
642             # char1 => '"'
643             # context => '#stay'
644             # type => 'Detect2Chars'
645 234 50       690 if ($self->testDetect2Chars($text, '"', '"', 0, 0, 0, undef, 0, '#stay', 'Escape Code')) {
646 0         0 return 1
647             }
648             # String => '\\[0-7]{1,3}'
649             # attribute => 'Escape Code'
650             # context => '#stay'
651             # type => 'RegExpr'
652 234 50       688 if ($self->testRegExpr($text, '\\\\[0-7]{1,3}', 0, 0, 0, undef, 0, '#stay', 'Escape Code')) {
653 0         0 return 1
654             }
655             # String => '\\x[0-9A-Fa-f]{1,2}'
656             # attribute => 'Escape Code'
657             # context => '#stay'
658             # type => 'RegExpr'
659 234 50       724 if ($self->testRegExpr($text, '\\\\x[0-9A-Fa-f]{1,2}', 0, 0, 0, undef, 0, '#stay', 'Escape Code')) {
660 0         0 return 1
661             }
662             # attribute => 'String'
663             # char => '"'
664             # context => '#pop'
665             # type => 'DetectChar'
666 234 100       718 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '#pop', 'String')) {
667 24         58 return 1
668             }
669 210         500 return 0;
670             };
671              
672             sub parsehtmlcomment {
673 0     0 0 0 my ($self, $text) = @_;
674             # String => '<%'
675             # attribute => 'Keyword'
676             # context => 'aspsource'
677             # type => 'StringDetect'
678 0 0       0 if ($self->testStringDetect($text, '<%', 0, 0, 0, undef, 0, 'aspsource', 'Keyword')) {
679 0         0 return 1
680             }
681             # String => '<%'
682             # attribute => 'Keyword'
683             # context => 'aspsource'
684             # type => 'StringDetect'
685 0 0       0 if ($self->testStringDetect($text, '<%', 0, 0, 0, undef, 0, 'aspsource', 'Keyword')) {
686 0         0 return 1
687             }
688             # String => '-->'
689             # attribute => 'HTML Comment'
690             # context => '#pop'
691             # type => 'StringDetect'
692 0 0       0 if ($self->testStringDetect($text, '-->', 0, 0, 0, undef, 0, '#pop', 'HTML Comment')) {
693 0         0 return 1
694             }
695             # String => '\s*=\s*'
696             # attribute => 'Normal Text'
697             # context => 'identifiers'
698             # type => 'RegExpr'
699 0 0       0 if ($self->testRegExpr($text, '\\s*=\\s*', 0, 0, 0, undef, 0, 'identifiers', 'Normal Text')) {
700 0         0 return 1
701             }
702 0         0 return 0;
703             };
704              
705             sub parsehtmltag {
706 26     26 0 39 my ($self, $text) = @_;
707             # attribute => 'HTML Tag'
708             # char => '/'
709             # char1 => '>'
710             # context => '#pop'
711             # type => 'Detect2Chars'
712 26 50       103 if ($self->testDetect2Chars($text, '/', '>', 0, 0, 0, undef, 0, '#pop', 'HTML Tag')) {
713 0         0 return 1
714             }
715             # attribute => 'HTML Tag'
716             # char => '>'
717             # context => '#pop'
718             # type => 'DetectChar'
719 26 100       99 if ($self->testDetectChar($text, '>', 0, 0, 0, undef, 0, '#pop', 'HTML Tag')) {
720 12         32 return 1
721             }
722             # String => '<%'
723             # attribute => 'Keyword'
724             # context => 'aspsource'
725             # type => 'StringDetect'
726 14 50       46 if ($self->testStringDetect($text, '<%', 0, 0, 0, undef, 0, 'aspsource', 'Keyword')) {
727 0         0 return 1
728             }
729             # String => '<%'
730             # attribute => 'Keyword'
731             # context => 'aspsource'
732             # type => 'StringDetect'
733 14 50       46 if ($self->testStringDetect($text, '<%', 0, 0, 0, undef, 0, 'aspsource', 'Keyword')) {
734 0         0 return 1
735             }
736             # String => '\s*=\s*'
737             # attribute => 'Identifier'
738             # context => 'identifiers'
739             # type => 'RegExpr'
740 14 100       47 if ($self->testRegExpr($text, '\\s*=\\s*', 0, 0, 0, undef, 0, 'identifiers', 'Identifier')) {
741 2         6 return 1
742             }
743 12         29 return 0;
744             };
745              
746             sub parseidentifiers {
747 2     2 0 5 my ($self, $text) = @_;
748             # String => '\s*#?[a-zA-Z0-9]*'
749             # attribute => 'String'
750             # context => '#pop'
751             # type => 'RegExpr'
752 2 50       11 if ($self->testRegExpr($text, '\\s*#?[a-zA-Z0-9]*', 0, 0, 0, undef, 0, '#pop', 'String')) {
753 0         0 return 1
754             }
755             # attribute => 'Types'
756             # char => '''
757             # context => 'types1'
758             # type => 'DetectChar'
759 2 50       10 if ($self->testDetectChar($text, '\'', 0, 0, 0, undef, 0, 'types1', 'Types')) {
760 0         0 return 1
761             }
762             # attribute => 'Types'
763             # char => '"'
764             # context => 'types2'
765             # type => 'DetectChar'
766 2 50       9 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'types2', 'Types')) {
767 2         7 return 1
768             }
769 0         0 return 0;
770             };
771              
772             sub parsenosource {
773 150     150 0 229 my ($self, $text) = @_;
774             # String => '<%'
775             # attribute => 'Keyword'
776             # context => 'aspsource'
777             # type => 'StringDetect'
778 150 100       490 if ($self->testStringDetect($text, '<%', 0, 0, 0, undef, 0, 'aspsource', 'Keyword')) {
779 6         16 return 1
780             }
781             # String => '<\s*script(\s|>)'
782             # attribute => 'HTML Tag'
783             # context => 'scripts'
784             # insensitive => 'TRUE'
785             # type => 'RegExpr'
786 144 50       461 if ($self->testRegExpr($text, '<\\s*script(\\s|>)', 1, 0, 0, undef, 0, 'scripts', 'HTML Tag')) {
787 0         0 return 1
788             }
789             # String => '<\s*\/?\s*[a-zA-Z_:][a-zA-Z0-9._:-]*'
790             # attribute => 'HTML Tag'
791             # context => 'htmltag'
792             # type => 'RegExpr'
793 144 100       505 if ($self->testRegExpr($text, '<\\s*\\/?\\s*[a-zA-Z_:][a-zA-Z0-9._:-]*', 0, 0, 0, undef, 0, 'htmltag', 'HTML Tag')) {
794 12         36 return 1
795             }
796             # String => '