File Coverage

blib/lib/Syntax/Highlight/Engine/Kate/Common_Lisp.pm
Criterion Covered Total %
statement 65 86 75.5
branch 32 50 64.0
condition 1 3 33.3
subroutine 8 10 80.0
pod 0 7 0.0
total 106 156 67.9


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 'commonlisp.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.3
10             #kate author Dominik Haumann (dhdev@gmx.de)
11             #generated: Sun Feb 3 22:02:04 2008, localtime
12              
13             package Syntax::Highlight::Engine::Kate::Common_Lisp;
14              
15             our $VERSION = '0.07';
16              
17 1     1   1209 use strict;
  1         4  
  1         49  
18 1     1   6 use warnings;
  1         2  
  1         40  
19 1     1   6 use base('Syntax::Highlight::Engine::Kate::Template');
  1         2  
  1         3184  
20              
21             sub new {
22 2     2 0 921 my $proto = shift;
23 2   33     16 my $class = ref($proto) || $proto;
24 2         21 my $self = $class->SUPER::new(@_);
25 2         34 $self->attributes({
26             'BaseN' => 'BaseN',
27             'Brackets' => 'BString',
28             'Char' => 'Char',
29             'Comment' => 'Comment',
30             'Data' => 'DataType',
31             'Decimal' => 'DecVal',
32             'Definition' => 'Others',
33             'Float' => 'Float',
34             'Function' => 'Function',
35             'Keyword' => 'Keyword',
36             'Modifier' => 'Reserved',
37             'Normal' => 'Normal',
38             'Operator' => 'Operator',
39             'Region Marker' => 'RegionMarker',
40             'String' => 'String',
41             'Variable' => 'Variable',
42             });
43 2         17 $self->listAdd('definitions',
44             'defclass',
45             'defconstant',
46             'defgeneric',
47             'define-compiler-macro',
48             'define-condition',
49             'define-method-combination',
50             'define-modify-macro',
51             'define-setf-expander',
52             'define-setf-method',
53             'define-symbol-macro',
54             'defmacro',
55             'defmethod',
56             'defpackage',
57             'defparameter',
58             'defsetf',
59             'defstruct',
60             'deftype',
61             'defun',
62             'defvar',
63             );
64 2         61 $self->listAdd('keywords',
65             'abort',
66             'abs',
67             'access',
68             'acons',
69             'acos',
70             'acosh',
71             'add-method',
72             'adjoin',
73             'adjust-array',
74             'adjustable-array-p',
75             'allocate-instance',
76             'alpha-char-p',
77             'alphanumericp',
78             'and',
79             'append',
80             'apply',
81             'applyhook',
82             'apropos',
83             'apropos-list',
84             'aref',
85             'arithmetic-error',
86             'arithmetic-error-operands',
87             'arithmetic-error-operation',
88             'array',
89             'array-dimension',
90             'array-dimension-limit',
91             'array-dimensions',
92             'array-displacement',
93             'array-element-type',
94             'array-has-fill-pointer-p',
95             'array-in-bounds-p',
96             'array-rank',
97             'array-rank-limit',
98             'array-row-major-index',
99             'array-total-size',
100             'array-total-size-limit',
101             'arrayp',
102             'ash',
103             'asin',
104             'asinh',
105             'assert',
106             'assoc',
107             'assoc-if',
108             'assoc-if-not',
109             'atan',
110             'atanh',
111             'atom',
112             'base-char',
113             'base-string',
114             'bignum',
115             'bit',
116             'bit-and',
117             'bit-andc1',
118             'bit-andc2',
119             'bit-eqv',
120             'bit-ior',
121             'bit-nand',
122             'bit-nor',
123             'bit-not',
124             'bit-orc1',
125             'bit-orc2',
126             'bit-vector',
127             'bit-vector-p',
128             'bit-xor',
129             'block',
130             'boole',
131             'boole-1',
132             'boole-2',
133             'boole-and',
134             'boole-andc1',
135             'boole-andc2',
136             'boole-c1',
137             'boole-c2',
138             'boole-clr',
139             'boole-eqv',
140             'boole-ior',
141             'boole-nand',
142             'boole-nor',
143             'boole-orc1',
144             'boole-orc2',
145             'boole-set',
146             'boole-xor',
147             'boolean',
148             'both-case-p',
149             'boundp',
150             'break',
151             'broadcast-stream',
152             'broadcast-stream-streams',
153             'built-in-class',
154             'butlast',
155             'byte',
156             'byte-position',
157             'byte-size',
158             'call-arguments-limit',
159             'call-method',
160             'call-next-method',
161             'capitalize',
162             'car',
163             'case',
164             'catch',
165             'ccase',
166             'cdr',
167             'ceiling',
168             'cell-error',
169             'cell-error-name',
170             'cerror',
171             'change-class',
172             'char',
173             'char-bit',
174             'char-bits',
175             'char-bits-limit',
176             'char-code',
177             'char-code-limit',
178             'char-control-bit',
179             'char-downcase',
180             'char-equal',
181             'char-font',
182             'char-font-limit',
183             'char-greaterp',
184             'char-hyper-bit',
185             'char-int',
186             'char-lessp',
187             'char-meta-bit',
188             'char-name',
189             'char-not-equal',
190             'char-not-greaterp',
191             'char-not-lessp',
192             'char-super-bit',
193             'char-upcase',
194             'char/=',
195             'char<',
196             'char<=',
197             'char=',
198             'char>',
199             'char>=',
200             'character',
201             'characterp',
202             'check-type',
203             'cis',
204             'class',
205             'class-name',
206             'class-of',
207             'clear-input',
208             'clear-output',
209             'close',
210             'clrhash',
211             'code-char',
212             'coerce',
213             'commonp',
214             'compilation-speed',
215             'compile',
216             'compile-file',
217             'compile-file-pathname',
218             'compiled-function',
219             'compiled-function-p',
220             'compiler-let',
221             'compiler-macro',
222             'compiler-macro-function',
223             'complement',
224             'complex',
225             'complexp',
226             'compute-applicable-methods',
227             'compute-restarts',
228             'concatenate',
229             'concatenated-stream',
230             'concatenated-stream-streams',
231             'cond',
232             'condition',
233             'conjugate',
234             'cons',
235             'consp',
236             'constantly',
237             'constantp',
238             'continue',
239             'control-error',
240             'copy-alist',
241             'copy-list',
242             'copy-pprint-dispatch',
243             'copy-readtable',
244             'copy-seq',
245             'copy-structure',
246             'copy-symbol',
247             'copy-tree',
248             'cos',
249             'cosh',
250             'count',
251             'count-if',
252             'count-if-not',
253             'ctypecase',
254             'debug',
255             'decf',
256             'declaim',
257             'declaration',
258             'declare',
259             'decode-float',
260             'decode-universal-time',
261             'delete',
262             'delete-duplicates',
263             'delete-file',
264             'delete-if',
265             'delete-if-not',
266             'delete-package',
267             'denominator',
268             'deposit-field',
269             'describe',
270             'describe-object',
271             'destructuring-bind',
272             'digit-char',
273             'digit-char-p',
274             'directory',
275             'directory-namestring',
276             'disassemble',
277             'division-by-zero',
278             'do',
279             'do*',
280             'do-all-symbols',
281             'do-exeternal-symbols',
282             'do-external-symbols',
283             'do-symbols',
284             'documentation',
285             'dolist',
286             'dotimes',
287             'double-float',
288             'double-float-epsilon',
289             'double-float-negative-epsilon',
290             'dpb',
291             'dribble',
292             'dynamic-extent',
293             'ecase',
294             'echo-stream',
295             'echo-stream-input-stream',
296             'echo-stream-output-stream',
297             'ed',
298             'eighth',
299             'elt',
300             'encode-universal-time',
301             'end-of-file',
302             'endp',
303             'enough-namestring',
304             'ensure-directories-exist',
305             'ensure-generic-function',
306             'eq',
307             'eql',
308             'equal',
309             'equalp',
310             'error',
311             'etypecase',
312             'eval',
313             'eval-when',
314             'evalhook',
315             'evenp',
316             'every',
317             'exp',
318             'export',
319             'expt',
320             'extended-char',
321             'fboundp',
322             'fceiling',
323             'fdefinition',
324             'ffloor',
325             'fifth',
326             'file-author',
327             'file-error',
328             'file-error-pathname',
329             'file-length',
330             'file-namestring',
331             'file-position',
332             'file-stream',
333             'file-string-length',
334             'file-write-date',
335             'fill',
336             'fill-pointer',
337             'find',
338             'find-all-symbols',
339             'find-class',
340             'find-if',
341             'find-if-not',
342             'find-method',
343             'find-package',
344             'find-restart',
345             'find-symbol',
346             'finish-output',
347             'first',
348             'fixnum',
349             'flet',
350             'float',
351             'float-digits',
352             'float-precision',
353             'float-radix',
354             'float-sign',
355             'floating-point-inexact',
356             'floating-point-invalid-operation',
357             'floating-point-overflow',
358             'floating-point-underflow',
359             'floatp',
360             'floor',
361             'fmakunbound',
362             'force-output',
363             'format',
364             'formatter',
365             'fourth',
366             'fresh-line',
367             'fround',
368             'ftruncate',
369             'ftype',
370             'funcall',
371             'function',
372             'function-keywords',
373             'function-lambda-expression',
374             'functionp',
375             'gbitp',
376             'gcd',
377             'generic-function',
378             'gensym',
379             'gentemp',
380             'get',
381             'get-decoded-time',
382             'get-dispatch-macro-character',
383             'get-internal-real-time',
384             'get-internal-run-time',
385             'get-macro-character',
386             'get-output-stream-string',
387             'get-properties',
388             'get-setf-expansion',
389             'get-setf-method',
390             'get-universal-time',
391             'getf',
392             'gethash',
393             'go',
394             'graphic-char-p',
395             'handler-bind',
396             'handler-case',
397             'hash-table',
398             'hash-table-count',
399             'hash-table-p',
400             'hash-table-rehash-size',
401             'hash-table-rehash-threshold',
402             'hash-table-size',
403             'hash-table-test',
404             'host-namestring',
405             'identity',
406             'if',
407             'if-exists',
408             'ignorable',
409             'ignore',
410             'ignore-errors',
411             'imagpart',
412             'import',
413             'in-package',
414             'in-package',
415             'incf',
416             'initialize-instance',
417             'inline',
418             'input-stream-p',
419             'inspect',
420             'int-char',
421             'integer',
422             'integer-decode-float',
423             'integer-length',
424             'integerp',
425             'interactive-stream-p',
426             'intern',
427             'internal-time-units-per-second',
428             'intersection',
429             'invalid-method-error',
430             'invoke-debugger',
431             'invoke-restart',
432             'invoke-restart-interactively',
433             'isqrt',
434             'keyword',
435             'keywordp',
436             'labels',
437             'lambda',
438             'lambda-list-keywords',
439             'lambda-parameters-limit',
440             'last',
441             'lcm',
442             'ldb',
443             'ldb-test',
444             'ldiff',
445             'least-negative-double-float',
446             'least-negative-long-float',
447             'least-negative-normalized-double-float',
448             'least-negative-normalized-long-float',
449             'least-negative-normalized-short-float',
450             'least-negative-normalized-single-float',
451             'least-negative-short-float',
452             'least-negative-single-float',
453             'least-positive-double-float',
454             'least-positive-long-float',
455             'least-positive-normalized-double-float',
456             'least-positive-normalized-long-float',
457             'least-positive-normalized-short-float',
458             'least-positive-normalized-single-float',
459             'least-positive-short-float',
460             'least-positive-single-float',
461             'length',
462             'let',
463             'let*',
464             'lisp',
465             'lisp-implementation-type',
466             'lisp-implementation-version',
467             'list',
468             'list*',
469             'list-all-packages',
470             'list-length',
471             'listen',
472             'listp',
473             'load',
474             'load-logical-pathname-translations',
475             'load-time-value',
476             'locally',
477             'log',
478             'logand',
479             'logandc1',
480             'logandc2',
481             'logbitp',
482             'logcount',
483             'logeqv',
484             'logical-pathname',
485             'logical-pathname-translations',
486             'logior',
487             'lognand',
488             'lognor',
489             'lognot',
490             'logorc1',
491             'logorc2',
492             'logtest',
493             'logxor',
494             'long-float',
495             'long-float-epsilon',
496             'long-float-negative-epsilon',
497             'long-site-name',
498             'loop',
499             'loop-finish',
500             'lower-case-p',
501             'machine-instance',
502             'machine-type',
503             'machine-version',
504             'macro-function',
505             'macroexpand',
506             'macroexpand-1',
507             'macroexpand-l',
508             'macrolet',
509             'make-array',
510             'make-array',
511             'make-broadcast-stream',
512             'make-char',
513             'make-concatenated-stream',
514             'make-condition',
515             'make-dispatch-macro-character',
516             'make-echo-stream',
517             'make-hash-table',
518             'make-instance',
519             'make-instances-obsolete',
520             'make-list',
521             'make-load-form',
522             'make-load-form-saving-slots',
523             'make-method',
524             'make-package',
525             'make-pathname',
526             'make-random-state',
527             'make-sequence',
528             'make-string',
529             'make-string-input-stream',
530             'make-string-output-stream',
531             'make-symbol',
532             'make-synonym-stream',
533             'make-two-way-stream',
534             'makunbound',
535             'map',
536             'map-into',
537             'mapc',
538             'mapcan',
539             'mapcar',
540             'mapcon',
541             'maphash',
542             'mapl',
543             'maplist',
544             'mask-field',
545             'max',
546             'member',
547             'member-if',
548             'member-if-not',
549             'merge',
550             'merge-pathname',
551             'merge-pathnames',
552             'method',
553             'method-combination',
554             'method-combination-error',
555             'method-qualifiers',
556             'min',
557             'minusp',
558             'mismatch',
559             'mod',
560             'most-negative-double-float',
561             'most-negative-fixnum',
562             'most-negative-long-float',
563             'most-negative-short-float',
564             'most-negative-single-float',
565             'most-positive-double-float',
566             'most-positive-fixnum',
567             'most-positive-long-float',
568             'most-positive-short-float',
569             'most-positive-single-float',
570             'muffle-warning',
571             'multiple-value-bind',
572             'multiple-value-call',
573             'multiple-value-list',
574             'multiple-value-prog1',
575             'multiple-value-seteq',
576             'multiple-value-setq',
577             'multiple-values-limit',
578             'name-char',
579             'namestring',
580             'nbutlast',
581             'nconc',
582             'next-method-p',
583             'nil',
584             'nintersection',
585             'ninth',
586             'no-applicable-method',
587             'no-next-method',
588             'not',
589             'notany',
590             'notevery',
591             'notinline',
592             'nreconc',
593             'nreverse',
594             'nset-difference',
595             'nset-exclusive-or',
596             'nstring',
597             'nstring-capitalize',
598             'nstring-downcase',
599             'nstring-upcase',
600             'nsublis',
601             'nsubst',
602             'nsubst-if',
603             'nsubst-if-not',
604             'nsubstitute',
605             'nsubstitute-if',
606             'nsubstitute-if-not',
607             'nth',
608             'nth-value',
609             'nthcdr',
610             'null',
611             'number',
612             'numberp',
613             'numerator',
614             'nunion',
615             'oddp',
616             'open',
617             'open-stream-p',
618             'optimize',
619             'or',
620             'otherwise',
621             'output-stream-p',
622             'package',
623             'package-error',
624             'package-error-package',
625             'package-name',
626             'package-nicknames',
627             'package-shadowing-symbols',
628             'package-use-list',
629             'package-used-by-list',
630             'packagep',
631             'pairlis',
632             'parse-error',
633             'parse-integer',
634             'parse-namestring',
635             'pathname',
636             'pathname-device',
637             'pathname-directory',
638             'pathname-host',
639             'pathname-match-p',
640             'pathname-name',
641             'pathname-type',
642             'pathname-version',
643             'pathnamep',
644             'peek-char',
645             'phase',
646             'pi',
647             'plusp',
648             'pop',
649             'position',
650             'position-if',
651             'position-if-not',
652             'pprint',
653             'pprint-dispatch',
654             'pprint-exit-if-list-exhausted',
655             'pprint-fill',
656             'pprint-indent',
657             'pprint-linear',
658             'pprint-logical-block',
659             'pprint-newline',
660             'pprint-pop',
661             'pprint-tab',
662             'pprint-tabular',
663             'prin1',
664             'prin1-to-string',
665             'princ',
666             'princ-to-string',
667             'print',
668             'print-not-readable',
669             'print-not-readable-object',
670             'print-object',
671             'print-unreadable-object',
672             'probe-file',
673             'proclaim',
674             'prog',
675             'prog*',
676             'prog1',
677             'prog2',
678             'progn',
679             'program-error',
680             'progv',
681             'provide',
682             'psetf',
683             'psetq',
684             'push',
685             'pushnew',
686             'putprop',
687             'quote',
688             'random',
689             'random-state',
690             'random-state-p',
691             'rassoc',
692             'rassoc-if',
693             'rassoc-if-not',
694             'ratio',
695             'rational',
696             'rationalize',
697             'rationalp',
698             'read',
699             'read-byte',
700             'read-char',
701             'read-char-no-hang',
702             'read-delimited-list',
703             'read-eval-print',
704             'read-from-string',
705             'read-line',
706             'read-preserving-whitespace',
707             'read-sequence',
708             'reader-error',
709             'readtable',
710             'readtable-case',
711             'readtablep',
712             'real',
713             'realp',
714             'realpart',
715             'reduce',
716             'reinitialize-instance',
717             'rem',
718             'remf',
719             'remhash',
720             'remove',
721             'remove-duplicates',
722             'remove-if',
723             'remove-if-not',
724             'remove-method',
725             'remprop',
726             'rename-file',
727             'rename-package',
728             'replace',
729             'require',
730             'rest',
731             'restart',
732             'restart-bind',
733             'restart-case',
734             'restart-name',
735             'return',
736             'return-from',
737             'revappend',
738             'reverse',
739             'room',
740             'rotatef',
741             'round',
742             'row-major-aref',
743             'rplaca',
744             'rplacd',
745             'safety',
746             'satisfies',
747             'sbit',
748             'scale-float',
749             'schar',
750             'search',
751             'second',
752             'sequence',
753             'serious-condition',
754             'set',
755             'set-char-bit',
756             'set-difference',
757             'set-dispatch-macro-character',
758             'set-exclusive-or',
759             'set-macro-character',
760             'set-pprint-dispatch',
761             'set-syntax-from-char',
762             'setf',
763             'setq',
764             'seventh',
765             'shadow',
766             'shadowing-import',
767             'shared-initialize',
768             'shiftf',
769             'short-float',
770             'short-float-epsilon',
771             'short-float-negative-epsilon',
772             'short-site-name',
773             'signal',
774             'signed-byte',
775             'signum',
776             'simle-condition',
777             'simple-array',
778             'simple-base-string',
779             'simple-bit-vector',
780             'simple-bit-vector-p',
781             'simple-condition-format-arguments',
782             'simple-condition-format-control',
783             'simple-error',
784             'simple-string',
785             'simple-string-p',
786             'simple-type-error',
787             'simple-vector',
788             'simple-vector-p',
789             'simple-warning',
790             'sin',
791             'single-flaot-epsilon',
792             'single-float',
793             'single-float-epsilon',
794             'single-float-negative-epsilon',
795             'sinh',
796             'sixth',
797             'sleep',
798             'slot-boundp',
799             'slot-exists-p',
800             'slot-makunbound',
801             'slot-missing',
802             'slot-unbound',
803             'slot-value',
804             'software-type',
805             'software-version',
806             'some',
807             'sort',
808             'space',
809             'special',
810             'special-form-p',
811             'special-operator-p',
812             'speed',
813             'sqrt',
814             'stable-sort',
815             'standard',
816             'standard-char',
817             'standard-char-p',
818             'standard-class',
819             'standard-generic-function',
820             'standard-method',
821             'standard-object',
822             'step',
823             'storage-condition',
824             'store-value',
825             'stream',
826             'stream-element-type',
827             'stream-error',
828             'stream-error-stream',
829             'stream-external-format',
830             'streamp',
831             'streamup',
832             'string',
833             'string-capitalize',
834             'string-char',
835             'string-char-p',
836             'string-downcase',
837             'string-equal',
838             'string-greaterp',
839             'string-left-trim',
840             'string-lessp',
841             'string-not-equal',
842             'string-not-greaterp',
843             'string-not-lessp',
844             'string-right-strim',
845             'string-right-trim',
846             'string-stream',
847             'string-trim',
848             'string-upcase',
849             'string/=',
850             'string<',
851             'string<=',
852             'string=',
853             'string>',
854             'string>=',
855             'stringp',
856             'structure',
857             'structure-class',
858             'structure-object',
859             'style-warning',
860             'sublim',
861             'sublis',
862             'subseq',
863             'subsetp',
864             'subst',
865             'subst-if',
866             'subst-if-not',
867             'substitute',
868             'substitute-if',
869             'substitute-if-not',
870             'subtypep',
871             'svref',
872             'sxhash',
873             'symbol',
874             'symbol-function',
875             'symbol-macrolet',
876             'symbol-name',
877             'symbol-package',
878             'symbol-plist',
879             'symbol-value',
880             'symbolp',
881             'synonym-stream',
882             'synonym-stream-symbol',
883             'sys',
884             'system',
885             't',
886             'tagbody',
887             'tailp',
888             'tan',
889             'tanh',
890             'tenth',
891             'terpri',
892             'the',
893             'third',
894             'throw',
895             'time',
896             'trace',
897             'translate-logical-pathname',
898             'translate-pathname',
899             'tree-equal',
900             'truename',
901             'truncase',
902             'truncate',
903             'two-way-stream',
904             'two-way-stream-input-stream',
905             'two-way-stream-output-stream',
906             'type',
907             'type-error',
908             'type-error-datum',
909             'type-error-expected-type',
910             'type-of',
911             'typecase',
912             'typep',
913             'unbound-slot',
914             'unbound-slot-instance',
915             'unbound-variable',
916             'undefined-function',
917             'unexport',
918             'unintern',
919             'union',
920             'unless',
921             'unread',
922             'unread-char',
923             'unsigned-byte',
924             'untrace',
925             'unuse-package',
926             'unwind-protect',
927             'update-instance-for-different-class',
928             'update-instance-for-redefined-class',
929             'upgraded-array-element-type',
930             'upgraded-complex-part-type',
931             'upper-case-p',
932             'use-package',
933             'use-value',
934             'user',
935             'user-homedir-pathname',
936             'values',
937             'values-list',
938             'vector',
939             'vector-pop',
940             'vector-push',
941             'vector-push-extend',
942             'vectorp',
943             'warn',
944             'warning',
945             'when',
946             'wild-pathname-p',
947             'with-accessors',
948             'with-compilation-unit',
949             'with-condition-restarts',
950             'with-hash-table-iterator',
951             'with-input-from-string',
952             'with-open-file',
953             'with-open-stream',
954             'with-output-to-string',
955             'with-package-iterator',
956             'with-simple-restart',
957             'with-slots',
958             'with-standard-io-syntax',
959             'write',
960             'write-byte',
961             'write-char',
962             'write-line',
963             'write-sequence',
964             'write-string',
965             'write-to-string',
966             'y-or-n-p',
967             'yes-or-no-p',
968             'zerop',
969             );
970 2         11 $self->listAdd('modifiers',
971             ':abort',
972             ':adjustable',
973             ':append',
974             ':array',
975             ':base',
976             ':case',
977             ':circle',
978             ':conc-name',
979             ':constructor',
980             ':copier',
981             ':count',
982             ':create',
983             ':default',
984             ':defaults',
985             ':device',
986             ':direction',
987             ':directory',
988             ':displaced-index-offset',
989             ':displaced-to',
990             ':element-type',
991             ':end',
992             ':end1',
993             ':end2',
994             ':error',
995             ':escape',
996             ':external',
997             ':from-end',
998             ':gensym',
999             ':host',
1000             ':if-does-not-exist:pretty',
1001             ':if-exists:print',
1002             ':include:print-function',
1003             ':index',
1004             ':inherited',
1005             ':initial-contents',
1006             ':initial-element',
1007             ':initial-offset',
1008             ':initial-value',
1009             ':input',
1010             ':internal:size',
1011             ':io',
1012             ':junk-allowed',
1013             ':key',
1014             ':length',
1015             ':level',
1016             ':name',
1017             ':named',
1018             ':new-version',
1019             ':nicknames',
1020             ':output',
1021             ':output-file',
1022             ':overwrite',
1023             ':predicate',
1024             ':preserve-whitespace',
1025             ':probe',
1026             ':radix',
1027             ':read-only',
1028             ':rehash-size',
1029             ':rehash-threshold',
1030             ':rename',
1031             ':rename-and-delete',
1032             ':start',
1033             ':start1',
1034             ':start2',
1035             ':stream',
1036             ':supersede',
1037             ':test',
1038             ':test-not',
1039             ':type',
1040             ':use',
1041             ':verbose',
1042             ':version',
1043             );
1044 2         8 $self->listAdd('symbols',
1045             '*',
1046             '**',
1047             '***',
1048             '+',
1049             '++',
1050             '+++',
1051             '-',
1052             '/',
1053             '//',
1054             '///',
1055             '/=',
1056             '1+',
1057             '1-',
1058             '<',
1059             '<=',
1060             '=',
1061             '=>',
1062             '>',
1063             '>=',
1064             );
1065 2         10 $self->listAdd('variables',
1066             '*applyhook*',
1067             '*break-on-signals*',
1068             '*break-on-signals*',
1069             '*break-on-warnings*',
1070             '*compile-file-pathname*',
1071             '*compile-file-pathname*',
1072             '*compile-file-truename*',
1073             '*compile-file-truename*',
1074             '*compile-print*',
1075             '*compile-verbose*',
1076             '*compile-verbose*',
1077             '*debug-io*',
1078             '*debugger-hook*',
1079             '*default-pathname-defaults*',
1080             '*error-output*',
1081             '*evalhook*',
1082             '*features*',
1083             '*gensym-counter*',
1084             '*load-pathname*',
1085             '*load-print*',
1086             '*load-truename*',
1087             '*load-verbose*',
1088             '*macroexpand-hook*',
1089             '*modules*',
1090             '*package*',
1091             '*print-array*',
1092             '*print-base*',
1093             '*print-case*',
1094             '*print-circle*',
1095             '*print-escape*',
1096             '*print-gensym*',
1097             '*print-length*',
1098             '*print-level*',
1099             '*print-lines*',
1100             '*print-miser-width*',
1101             '*print-miser-width*',
1102             '*print-pprint-dispatch*',
1103             '*print-pprint-dispatch*',
1104             '*print-pretty*',
1105             '*print-radix*',
1106             '*print-readably*',
1107             '*print-right-margin*',
1108             '*print-right-margin*',
1109             '*query-io*',
1110             '*random-state*',
1111             '*read-base*',
1112             '*read-default-float-format*',
1113             '*read-eval*',
1114             '*read-suppress*',
1115             '*readtable*',
1116             '*standard-input*',
1117             '*standard-output*',
1118             '*terminal-io*',
1119             '*trace-output*',
1120             );
1121 2         54 $self->contextdata({
1122             'MultiLineComment' => {
1123             callback => \&parseMultiLineComment,
1124             attribute => 'Comment',
1125             },
1126             'Normal' => {
1127             callback => \&parseNormal,
1128             attribute => 'Normal',
1129             },
1130             'SpecialNumber' => {
1131             callback => \&parseSpecialNumber,
1132             attribute => 'Normal',
1133             lineending => '#pop',
1134             },
1135             'String' => {
1136             callback => \&parseString,
1137             attribute => 'String',
1138             },
1139             'function_decl' => {
1140             callback => \&parsefunction_decl,
1141             attribute => 'Function',
1142             },
1143             });
1144 2         12 $self->deliminators('\\s||\\.|\\(|\\)|,|\\%|\\&|;|\\[|\\]|\\^|\\{|\\||\\}|\\~|-|\\+|\\*|\\?|\\!|<|>|=|\\/|:|#|\\\\');
1145 2         9 $self->basecontext('Normal');
1146 2         13 $self->keywordscase(0);
1147 2         6 $self->initialize;
1148 2         6 bless ($self, $class);
1149 2         13 return $self;
1150             }
1151              
1152             sub language {
1153 0     0 0 0 return 'Common Lisp';
1154             }
1155              
1156             sub parseMultiLineComment {
1157 40     40 0 56 my ($self, $text) = @_;
1158             # attribute => 'Comment'
1159             # char => '|'
1160             # char1 => '#'
1161             # context => '#pop'
1162             # endRegion => 'region'
1163             # type => 'Detect2Chars'
1164 40 100       113 if ($self->testDetect2Chars($text, '|', '#', 0, 0, 0, undef, 0, '#pop', 'Comment')) {
1165 2         6 return 1
1166             }
1167 38         95 return 0;
1168             };
1169              
1170             sub parseNormal {
1171 954     954 0 9014 my ($self, $text) = @_;
1172             # String => ';+\s*BEGIN.*$'
1173             # attribute => 'Region Marker'
1174             # beginRegion => 'region'
1175             # context => '#stay'
1176             # type => 'RegExpr'
1177 954 50       4285 if ($self->testRegExpr($text, ';+\\s*BEGIN.*$', 0, 0, 0, undef, 0, '#stay', 'Region Marker')) {
1178 0         0 return 1
1179             }
1180             # String => ';+\s*END.*$'
1181             # attribute => 'Region Marker'
1182             # context => '#stay'
1183             # endRegion => 'region'
1184             # type => 'RegExpr'
1185 954 50       3824 if ($self->testRegExpr($text, ';+\\s*END.*$', 0, 0, 0, undef, 0, '#stay', 'Region Marker')) {
1186 0         0 return 1
1187             }
1188             # String => ';.*$'
1189             # attribute => 'Comment'
1190             # context => '#stay'
1191             # type => 'RegExpr'
1192 954 50       5719 if ($self->testRegExpr($text, ';.*$', 0, 0, 0, undef, 0, '#stay', 'Comment')) {
1193 0         0 return 1
1194             }
1195             # attribute => 'Comment'
1196             # beginRegion => 'region'
1197             # char => '#'
1198             # char1 => '|'
1199             # context => 'MultiLineComment'
1200             # type => 'Detect2Chars'
1201 954 100       4135 if ($self->testDetect2Chars($text, '#', '|', 0, 0, 0, undef, 0, 'MultiLineComment', 'Comment')) {
1202 2         8 return 1
1203             }
1204             # attribute => 'Brackets'
1205             # char => '('
1206             # context => '#stay'
1207             # type => 'DetectChar'
1208 952 100       4109 if ($self->testDetectChar($text, '(', 0, 0, 0, undef, 0, '#stay', 'Brackets')) {
1209 90         298 return 1
1210             }
1211             # attribute => 'Brackets'
1212             # char => ')'
1213             # context => '#stay'
1214             # type => 'DetectChar'
1215 862 100       2923 if ($self->testDetectChar($text, ')', 0, 0, 0, undef, 0, '#stay', 'Brackets')) {
1216 90         279 return 1
1217             }
1218             # String => 'keywords'
1219             # attribute => 'Keyword'
1220             # context => '#stay'
1221             # type => 'keyword'
1222 772 100       4342 if ($self->testKeyword($text, 'keywords', 0, undef, 0, '#stay', 'Keyword')) {
1223 40         205 return 1
1224             }
1225             # String => 'symbols'
1226             # attribute => 'Operator'
1227             # context => '#stay'
1228             # type => 'keyword'
1229 732 100       2673 if ($self->testKeyword($text, 'symbols', 0, undef, 0, '#stay', 'Operator')) {
1230 2         9 return 1
1231             }
1232             # String => 'modifiers'
1233             # attribute => 'Modifier'
1234             # context => '#stay'
1235             # type => 'keyword'
1236 730 50       3534 if ($self->testKeyword($text, 'modifiers', 0, undef, 0, '#stay', 'Modifier')) {
1237 0         0 return 1
1238             }
1239             # String => 'variables'
1240             # attribute => 'Variable'
1241             # context => '#stay'
1242             # type => 'keyword'
1243 730 50       2931 if ($self->testKeyword($text, 'variables', 0, undef, 0, '#stay', 'Variable')) {
1244 0         0 return 1
1245             }
1246             # String => 'definitions'
1247             # attribute => 'Definition'
1248             # context => 'function_decl'
1249             # type => 'keyword'
1250 730 100       2663 if ($self->testKeyword($text, 'definitions', 0, undef, 0, 'function_decl', 'Definition')) {
1251 14         50 return 1
1252             }
1253             # String => '#\\.'
1254             # attribute => 'Char'
1255             # context => '#stay'
1256             # type => 'RegExpr'
1257 716 50       3560 if ($self->testRegExpr($text, '#\\\\.', 0, 0, 0, undef, 0, '#stay', 'Char')) {
1258 0         0 return 1
1259             }
1260             # attribute => 'String'
1261             # char => '"'
1262             # context => 'String'
1263             # type => 'DetectChar'
1264 716 100       2753 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, 'String', 'String')) {
1265 24         68 return 1
1266             }
1267             # String => '#[bodxei]'
1268             # attribute => 'Char'
1269             # context => 'SpecialNumber'
1270             # type => 'RegExpr'
1271 692 50       3017 if ($self->testRegExpr($text, '#[bodxei]', 0, 0, 0, undef, 0, 'SpecialNumber', 'Char')) {
1272 0         0 return 1
1273             }
1274             # String => '#[tf]'
1275             # attribute => 'Decimal'
1276             # context => '#stay'
1277             # type => 'RegExpr'
1278 692 50       3976 if ($self->testRegExpr($text, '#[tf]', 0, 0, 0, undef, 0, '#stay', 'Decimal')) {
1279 0         0 return 1
1280             }
1281             # attribute => 'Float'
1282             # context => '#stay'
1283             # type => 'Float'
1284 692 100       3565 if ($self->testFloat($text, 0, undef, 0, '#stay', 'Float')) {
1285 8         32 return 1
1286             }
1287             # attribute => 'Decimal'
1288             # context => '#stay'
1289             # type => 'Int'
1290 684 100       3338 if ($self->testInt($text, 0, undef, 0, '#stay', 'Decimal')) {
1291 8         36 return 1
1292             }
1293 676         2802 return 0;
1294             };
1295              
1296             sub parseSpecialNumber {
1297 0     0 0 0 my ($self, $text) = @_;
1298             # attribute => 'Float'
1299             # context => '#pop'
1300             # type => 'Float'
1301 0 0       0 if ($self->testFloat($text, 0, undef, 0, '#pop', 'Float')) {
1302 0         0 return 1
1303             }
1304             # attribute => 'Decimal'
1305             # context => '#pop'
1306             # type => 'Int'
1307 0 0       0 if ($self->testInt($text, 0, undef, 0, '#pop', 'Decimal')) {
1308 0         0 return 1
1309             }
1310             # attribute => 'BaseN'
1311             # context => '#pop'
1312             # type => 'HlCOct'
1313 0 0       0 if ($self->testHlCOct($text, 0, undef, 0, '#pop', 'BaseN')) {
1314 0         0 return 1
1315             }
1316             # attribute => 'Float'
1317             # context => '#pop'
1318             # type => 'HlCHex'
1319 0 0       0 if ($self->testHlCHex($text, 0, undef, 0, '#pop', 'Float')) {
1320 0         0 return 1
1321             }
1322 0         0 return 0;
1323             };
1324              
1325             sub parseString {
1326 96     96 0 142 my ($self, $text) = @_;
1327             # String => '#\\.'
1328             # attribute => 'Char'
1329             # context => '#stay'
1330             # type => 'RegExpr'
1331 96 50       314 if ($self->testRegExpr($text, '#\\\\.', 0, 0, 0, undef, 0, '#stay', 'Char')) {
1332 0         0 return 1
1333             }
1334             # attribute => 'String'
1335             # char => '"'
1336             # context => '#pop'
1337             # type => 'DetectChar'
1338 96 100       308 if ($self->testDetectChar($text, '"', 0, 0, 0, undef, 0, '#pop', 'String')) {
1339 24         60 return 1
1340             }
1341 72         190 return 0;
1342             };
1343              
1344             sub parsefunction_decl {
1345 14     14 0 24 my ($self, $text) = @_;
1346             # String => '\s*[A-Za-z0-9-+\<\>//\*]*\s*'
1347             # attribute => 'Function'
1348             # context => '#pop'
1349             # type => 'RegExpr'
1350 14 50       84 if ($self->testRegExpr($text, '\\s*[A-Za-z0-9-+\\<\\>//\\*]*\\s*', 0, 0, 0, undef, 0, '#pop', 'Function')) {
1351 14         44 return 1
1352             }
1353 0           return 0;
1354             };
1355              
1356              
1357             1;
1358              
1359             __END__