Add built local::lib
[catagits/Gitalist.git] / local-lib5 / lib / perl5 / Syntax / Highlight / Engine / Kate / Intel_x86_NASM.pm
CommitLineData
3fea05b9 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 'nasm.xml' file of the syntax highlight
6# engine of the kate text editor (http://www.kate-editor.org
7
8#kate xml version 1.20
9#kate version 2.3
10#kate author Nicola Gigante (nicola.gigante@gmail.com)
11#generated: Sun Feb 3 22:02:05 2008, localtime
12
13package Syntax::Highlight::Engine::Kate::Intel_x86_NASM;
14
15our $VERSION = '0.06';
16
17use strict;
18use warnings;
19use base('Syntax::Highlight::Engine::Kate::Template');
20
21sub new {
22 my $proto = shift;
23 my $class = ref($proto) || $proto;
24 my $self = $class->SUPER::new(@_);
25 $self->attributes({
26 'BaseN' => 'BaseN',
27 'Char' => 'Char',
28 'Comment' => 'Comment',
29 'Data' => 'DataType',
30 'Float' => 'Float',
31 'Instructions' => 'Keyword',
32 'Label' => 'Function',
33 'NASM Keywords' => 'Keyword',
34 'Normal Text' => 'Normal',
35 'Number' => 'DecVal',
36 'Preprocessor' => 'Others',
37 'Registers' => 'Keyword',
38 'String' => 'String',
39 });
40 $self->listAdd('Data',
41 'byte',
42 'db',
43 'dd',
44 'dq',
45 'dt',
46 'dw',
47 'dword',
48 'equ',
49 'incbin',
50 'ptr',
51 'qword',
52 'resb',
53 'resd',
54 'resq',
55 'rest',
56 'resw',
57 'short',
58 'times',
59 'word',
60 );
61 $self->listAdd('NASM Keywords',
62 '__FILE__',
63 '__LINE__',
64 '__NASM_MAJOR__',
65 '__NASM_MINOR__',
66 '__NASM_SUBMINOR__',
67 '__NASM_VERSION_ID__',
68 '__NASM_VER__',
69 '___NASM_PATCHLEVEL__',
70 '__sect__',
71 'absolute',
72 'align',
73 'alignb',
74 'at',
75 'bits',
76 'common',
77 'endstruc',
78 'extern',
79 'global',
80 'iend',
81 'istruc',
82 'org',
83 'section',
84 'seg',
85 'segment',
86 'strict',
87 'struc',
88 'use16',
89 'use32',
90 'wrt',
91 );
92 $self->listAdd('instructions',
93 'aaa',
94 'aaa',
95 'aad',
96 'aad',
97 'aam',
98 'aam',
99 'aas',
100 'aas',
101 'adc',
102 'adc',
103 'add',
104 'add',
105 'addpd',
106 'addpd',
107 'addps',
108 'addps',
109 'addsd',
110 'addsd',
111 'addss',
112 'addss',
113 'and',
114 'and',
115 'andnpd',
116 'andnpd',
117 'andnps',
118 'andnps',
119 'andpd',
120 'andpd',
121 'andps',
122 'andps',
123 'arpl',
124 'arpl',
125 'bound',
126 'bound',
127 'bsf',
128 'bsf',
129 'bsr',
130 'bsr',
131 'bswap',
132 'bswap',
133 'bt',
134 'bt',
135 'btc',
136 'btc',
137 'btr',
138 'btr',
139 'bts',
140 'bts',
141 'call',
142 'call',
143 'cbw',
144 'cbw',
145 'cdq',
146 'cdq',
147 'clc',
148 'clc',
149 'cld',
150 'cld',
151 'clflush',
152 'clflush',
153 'cli',
154 'cli',
155 'clts',
156 'clts',
157 'cmc',
158 'cmc',
159 'cmovcc',
160 'cmovcc',
161 'cmp',
162 'cmp',
163 'cmpeqpd',
164 'cmpeqpd',
165 'cmpeqps',
166 'cmpeqps',
167 'cmpeqsd',
168 'cmpeqsd',
169 'cmpeqss',
170 'cmpeqss',
171 'cmplepd',
172 'cmplepd',
173 'cmpleps',
174 'cmpleps',
175 'cmplesd',
176 'cmplesd',
177 'cmpless',
178 'cmpless',
179 'cmpltpd',
180 'cmpltpd',
181 'cmpltps',
182 'cmpltps',
183 'cmpltsd',
184 'cmpltsd',
185 'cmpltss',
186 'cmpltss',
187 'cmpneqpd',
188 'cmpneqpd',
189 'cmpneqps',
190 'cmpneqps',
191 'cmpneqsd',
192 'cmpneqsd',
193 'cmpneqss',
194 'cmpneqss',
195 'cmpnlepd',
196 'cmpnlepd',
197 'cmpnleps',
198 'cmpnleps',
199 'cmpnlesd',
200 'cmpnlesd',
201 'cmpnless',
202 'cmpnless',
203 'cmpnltpd',
204 'cmpnltpd',
205 'cmpnltps',
206 'cmpnltps',
207 'cmpnltsd',
208 'cmpnltsd',
209 'cmpnltss',
210 'cmpnltss',
211 'cmpordpd',
212 'cmpordpd',
213 'cmpordps',
214 'cmpordps',
215 'cmpordsd',
216 'cmpordsd',
217 'cmpordss',
218 'cmpordss',
219 'cmppd',
220 'cmppd',
221 'cmpps',
222 'cmpps',
223 'cmpsb',
224 'cmpsb',
225 'cmpsd',
226 'cmpsd',
227 'cmpss',
228 'cmpss',
229 'cmpsw',
230 'cmpsw',
231 'cmpunordpd',
232 'cmpunordpd',
233 'cmpunordps',
234 'cmpunordps',
235 'cmpunordsd',
236 'cmpunordsd',
237 'cmpunordss',
238 'cmpunordss',
239 'cmpxchg',
240 'cmpxchg',
241 'cmpxchg486',
242 'cmpxchg486',
243 'cmpxchg8b',
244 'cmpxchg8b',
245 'comisd',
246 'comisd',
247 'comiss',
248 'comiss',
249 'cpuid',
250 'cpuid',
251 'cvtdq2pd',
252 'cvtdq2pd',
253 'cvtdq2ps',
254 'cvtdq2ps',
255 'cvtpd2dq',
256 'cvtpd2dq',
257 'cvtpd2pi',
258 'cvtpd2pi',
259 'cvtpd2ps',
260 'cvtpd2ps',
261 'cvtpi2pd',
262 'cvtpi2pd',
263 'cvtpi2ps',
264 'cvtpi2ps',
265 'cvtps2dq',
266 'cvtps2dq',
267 'cvtps2pd',
268 'cvtps2pd',
269 'cvtps2pi',
270 'cvtps2pi',
271 'cvtsd2si',
272 'cvtsd2si',
273 'cvtsd2ss',
274 'cvtsd2ss',
275 'cvtsi2sd',
276 'cvtsi2sd',
277 'cvtsi2ss',
278 'cvtsi2ss',
279 'cvtss2sd',
280 'cvtss2sd',
281 'cvtss2si',
282 'cvtss2si',
283 'cvttpd2dq',
284 'cvttpd2dq',
285 'cvttpd2pi',
286 'cvttpd2pi',
287 'cvttps2dq',
288 'cvttps2dq',
289 'cvttps2pi',
290 'cvttps2pi',
291 'cvttsd2si',
292 'cvttsd2si',
293 'cwd',
294 'cwd',
295 'cwde',
296 'cwde',
297 'daa',
298 'daa',
299 'das',
300 'das',
301 'dec',
302 'dec',
303 'div',
304 'div',
305 'divpd',
306 'divpd',
307 'divps',
308 'divps',
309 'divsd',
310 'divsd',
311 'divss',
312 'divss',
313 'emms',
314 'emms',
315 'enter',
316 'enter',
317 'f2xm1',
318 'f2xm1',
319 'fabs',
320 'fabs',
321 'fadd',
322 'fadd',
323 'faddp',
324 'faddp',
325 'fbld',
326 'fbld',
327 'fbstp',
328 'fbstp',
329 'fchs',
330 'fchs',
331 'fclex',
332 'fclex',
333 'fcmovb',
334 'fcmovb',
335 'fcmovbe',
336 'fcmovbe',
337 'fcmove',
338 'fcmove',
339 'fcmovnb',
340 'fcmovnb',
341 'fcmovnbe',
342 'fcmovnbe',
343 'fcmovne',
344 'fcmovne',
345 'fcmovnu',
346 'fcmovnu',
347 'fcmovu',
348 'fcmovu',
349 'fcom',
350 'fcom',
351 'fcomi',
352 'fcomi',
353 'fcomip',
354 'fcomip',
355 'fcomp',
356 'fcomp',
357 'fcompp',
358 'fcompp',
359 'fcos',
360 'fcos',
361 'fdecstp',
362 'fdecstp',
363 'fdisi',
364 'fdisi',
365 'fdiv',
366 'fdiv',
367 'fdivp',
368 'fdivp',
369 'fdivr',
370 'fdivr',
371 'fdivrp',
372 'fdivrp',
373 'femms',
374 'femms',
375 'feni',
376 'feni',
377 'ffree',
378 'ffree',
379 'ffreep',
380 'ffreep',
381 'fiadd',
382 'fiadd',
383 'ficom',
384 'ficom',
385 'ficomp',
386 'ficomp',
387 'fidiv',
388 'fidiv',
389 'fidivr',
390 'fidivr',
391 'fild',
392 'fild',
393 'fimul',
394 'fimul',
395 'fincstp',
396 'fincstp',
397 'finit',
398 'finit',
399 'fist',
400 'fist',
401 'fistp',
402 'fistp',
403 'fisub',
404 'fisub',
405 'fisubr',
406 'fisubr',
407 'fld',
408 'fld',
409 'fld1',
410 'fld1',
411 'fldcw',
412 'fldcw',
413 'fldenv',
414 'fldenv',
415 'fldl2e',
416 'fldl2e',
417 'fldl2t',
418 'fldl2t',
419 'fldlg2',
420 'fldlg2',
421 'fldln2',
422 'fldln2',
423 'fldpi',
424 'fldpi',
425 'fldz',
426 'fldz',
427 'fmul',
428 'fmul',
429 'fmulp',
430 'fmulp',
431 'fnclex',
432 'fnclex',
433 'fndisi',
434 'fndisi',
435 'fneni',
436 'fneni',
437 'fninit',
438 'fninit',
439 'fnop',
440 'fnop',
441 'fnsave',
442 'fnsave',
443 'fnstcw',
444 'fnstcw',
445 'fnstenv',
446 'fnstenv',
447 'fnstsw',
448 'fnstsw',
449 'fpatan',
450 'fpatan',
451 'fprem',
452 'fprem',
453 'fprem1',
454 'fprem1',
455 'fptan',
456 'fptan',
457 'frndint',
458 'frndint',
459 'frstor',
460 'frstor',
461 'fsave',
462 'fsave',
463 'fscale',
464 'fscale',
465 'fsetpm',
466 'fsetpm',
467 'fsin',
468 'fsin',
469 'fsincos',
470 'fsincos',
471 'fsqrt',
472 'fsqrt',
473 'fst',
474 'fst',
475 'fstcw',
476 'fstcw',
477 'fstenv',
478 'fstenv',
479 'fstp',
480 'fstp',
481 'fstsw',
482 'fstsw',
483 'fsub',
484 'fsub',
485 'fsubp',
486 'fsubp',
487 'fsubr',
488 'fsubr',
489 'fsubrp',
490 'fsubrp',
491 'ftst',
492 'ftst',
493 'fucom',
494 'fucom',
495 'fucomi',
496 'fucomi',
497 'fucomip',
498 'fucomip',
499 'fucomp',
500 'fucomp',
501 'fucompp',
502 'fucompp',
503 'fwait',
504 'fwait',
505 'fxam',
506 'fxam',
507 'fxch',
508 'fxch',
509 'fxrstor',
510 'fxrstor',
511 'fxsave',
512 'fxsave',
513 'fxtract',
514 'fxtract',
515 'fyl2x',
516 'fyl2x',
517 'fyl2xp1',
518 'fyl2xp1',
519 'hlt',
520 'hlt',
521 'ibts',
522 'ibts',
523 'icebp',
524 'icebp',
525 'idiv',
526 'idiv',
527 'imul',
528 'imul',
529 'in',
530 'in',
531 'inc',
532 'inc',
533 'insb',
534 'insb',
535 'insd',
536 'insd',
537 'insw',
538 'insw',
539 'int',
540 'int',
541 'int01',
542 'int01',
543 'int03',
544 'int03',
545 'int1',
546 'int1',
547 'int3',
548 'int3',
549 'into',
550 'into',
551 'invd',
552 'invd',
553 'invlpg',
554 'invlpg',
555 'iret',
556 'iret',
557 'iretd',
558 'iretd',
559 'iretw',
560 'iretw',
561 'jcc',
562 'jcc',
563 'jcxz',
564 'jcxz',
565 'jecxz',
566 'jecxz',
567 'jmp',
568 'jmp',
569 'lahf',
570 'lahf',
571 'lar',
572 'lar',
573 'ldmxcsr',
574 'ldmxcsr',
575 'lds',
576 'lds',
577 'lea',
578 'lea',
579 'leave',
580 'leave',
581 'les',
582 'les',
583 'lfence',
584 'lfence',
585 'lfs',
586 'lfs',
587 'lgdt',
588 'lgdt',
589 'lgs',
590 'lgs',
591 'lidt',
592 'lidt',
593 'lldt',
594 'lldt',
595 'lmsw',
596 'lmsw',
597 'loadall',
598 'loadall',
599 'loadall286',
600 'loadall286',
601 'lodsb',
602 'lodsb',
603 'lodsd',
604 'lodsd',
605 'lodsw',
606 'lodsw',
607 'loop',
608 'loop',
609 'loope',
610 'loope',
611 'loopne',
612 'loopne',
613 'loopnz',
614 'loopnz',
615 'loopz',
616 'loopz',
617 'lsl',
618 'lsl',
619 'lss',
620 'lss',
621 'ltr',
622 'ltr',
623 'maskmovdqu',
624 'maskmovdqu',
625 'maskmovq',
626 'maskmovq',
627 'maxpd',
628 'maxpd',
629 'maxps',
630 'maxps',
631 'maxsd',
632 'maxsd',
633 'maxss',
634 'maxss',
635 'mfence',
636 'mfence',
637 'minpd',
638 'minpd',
639 'minps',
640 'minps',
641 'minsd',
642 'minsd',
643 'minss',
644 'minss',
645 'mov',
646 'mov',
647 'movapd',
648 'movapd',
649 'movaps',
650 'movaps',
651 'movd',
652 'movd',
653 'movdq2q',
654 'movdq2q',
655 'movdqa',
656 'movdqa',
657 'movdqu',
658 'movdqu',
659 'movhlps',
660 'movhlps',
661 'movhpd',
662 'movhpd',
663 'movhps',
664 'movhps',
665 'movlhps',
666 'movlhps',
667 'movlpd',
668 'movlpd',
669 'movlps',
670 'movlps',
671 'movmskpd',
672 'movmskpd',
673 'movmskps',
674 'movmskps',
675 'movntdq',
676 'movntdq',
677 'movnti',
678 'movnti',
679 'movntpd',
680 'movntpd',
681 'movntps',
682 'movntps',
683 'movntq',
684 'movntq',
685 'movq',
686 'movq',
687 'movq2dq',
688 'movq2dq',
689 'movsb',
690 'movsb',
691 'movsd',
692 'movsd',
693 'movss',
694 'movss',
695 'movsw',
696 'movsw',
697 'movsx',
698 'movsx',
699 'movupd',
700 'movupd',
701 'movups',
702 'movups',
703 'movzx',
704 'movzx',
705 'mul',
706 'mul',
707 'mulpd',
708 'mulpd',
709 'mulps',
710 'mulps',
711 'mulsd',
712 'mulsd',
713 'mulss',
714 'mulss',
715 'neg',
716 'neg',
717 'nop',
718 'nop',
719 'not',
720 'not',
721 'or',
722 'or',
723 'orpd',
724 'orpd',
725 'orps',
726 'orps',
727 'out',
728 'out',
729 'outsb',
730 'outsb',
731 'outsd',
732 'outsd',
733 'outsw',
734 'outsw',
735 'packssdw',
736 'packssdw',
737 'packssdw',
738 'packsswb',
739 'packsswb',
740 'packsswb',
741 'packuswb',
742 'packuswb',
743 'packuswb',
744 'paddb',
745 'paddb',
746 'paddb',
747 'paddd',
748 'paddd',
749 'paddd',
750 'paddq',
751 'paddq',
752 'paddsb',
753 'paddsb',
754 'paddsb',
755 'paddsiw',
756 'paddsiw',
757 'paddsw',
758 'paddsw',
759 'paddsw',
760 'paddusb',
761 'paddusb',
762 'paddusb',
763 'paddusw',
764 'paddusw',
765 'paddusw',
766 'paddw',
767 'paddw',
768 'paddw',
769 'pand',
770 'pand',
771 'pand',
772 'pandn',
773 'pandn',
774 'pandn',
775 'pause',
776 'pause',
777 'paveb',
778 'paveb',
779 'pavgb',
780 'pavgb',
781 'pavgb',
782 'pavgusb',
783 'pavgusb',
784 'pavgw',
785 'pavgw',
786 'pavgw',
787 'pcmpeqb',
788 'pcmpeqb',
789 'pcmpeqb',
790 'pcmpeqd',
791 'pcmpeqd',
792 'pcmpeqd',
793 'pcmpeqw',
794 'pcmpeqw',
795 'pcmpeqw',
796 'pcmpgtb',
797 'pcmpgtb',
798 'pcmpgtb',
799 'pcmpgtd',
800 'pcmpgtd',
801 'pcmpgtd',
802 'pcmpgtw',
803 'pcmpgtw',
804 'pcmpgtw',
805 'pdistib',
806 'pdistib',
807 'pextrw',
808 'pextrw',
809 'pf2id',
810 'pf2id',
811 'pf2iw',
812 'pf2iw',
813 'pfacc',
814 'pfacc',
815 'pfadd',
816 'pfadd',
817 'pfcmpeq',
818 'pfcmpeq',
819 'pfcmpge',
820 'pfcmpge',
821 'pfcmpgt',
822 'pfcmpgt',
823 'pfmax',
824 'pfmax',
825 'pfmin',
826 'pfmin',
827 'pfmul',
828 'pfmul',
829 'pfnacc',
830 'pfnacc',
831 'pfpnacc',
832 'pfpnacc',
833 'pfrcp',
834 'pfrcp',
835 'pfrcpit1',
836 'pfrcpit1',
837 'pfrcpit2',
838 'pfrcpit2',
839 'pfrsqit1',
840 'pfrsqit1',
841 'pfrsqrt',
842 'pfrsqrt',
843 'pfsub',
844 'pfsub',
845 'pfsubr',
846 'pfsubr',
847 'pi2fd',
848 'pi2fd',
849 'pi2fw',
850 'pi2fw',
851 'pinsrw',
852 'pinsrw',
853 'pmachriw',
854 'pmachriw',
855 'pmaddwd',
856 'pmaddwd',
857 'pmagw',
858 'pmagw',
859 'pmaxsw',
860 'pmaxsw',
861 'pmaxub',
862 'pmaxub',
863 'pminsw',
864 'pminsw',
865 'pminub',
866 'pminub',
867 'pmovmskb',
868 'pmovmskb',
869 'pmulhriw',
870 'pmulhriw',
871 'pmulhrwa',
872 'pmulhrwa',
873 'pmulhrwc',
874 'pmulhrwc',
875 'pmulhuw',
876 'pmulhuw',
877 'pmulhw',
878 'pmulhw',
879 'pmulhw',
880 'pmullw',
881 'pmullw',
882 'pmullw',
883 'pmuludq',
884 'pmuludq',
885 'pmvgezb',
886 'pmvgezb',
887 'pmvlzb',
888 'pmvlzb',
889 'pmvnzb',
890 'pmvnzb',
891 'pmvzb',
892 'pmvzb',
893 'pop',
894 'pop',
895 'popa',
896 'popa',
897 'popad',
898 'popad',
899 'popaw',
900 'popaw',
901 'popf',
902 'popf',
903 'popfd',
904 'popfd',
905 'popfw',
906 'popfw',
907 'por',
908 'por',
909 'prefetch',
910 'prefetch',
911 'prefetchnta',
912 'prefetchnta',
913 'prefetcht0',
914 'prefetcht0',
915 'prefetcht1',
916 'prefetcht1',
917 'prefetcht2',
918 'prefetcht2',
919 'prefetchw',
920 'prefetchw',
921 'psadbw',
922 'psadbw',
923 'pshufd',
924 'pshufd',
925 'pshufhw',
926 'pshufhw',
927 'pshuflw',
928 'pshuflw',
929 'pshufw',
930 'pshufw',
931 'pslld',
932 'pslld',
933 'pslldq',
934 'pslldq',
935 'psllq',
936 'psllq',
937 'psllw',
938 'psllw',
939 'psrad',
940 'psrad',
941 'psraw',
942 'psraw',
943 'psrld',
944 'psrld',
945 'psrldq',
946 'psrldq',
947 'psrlq',
948 'psrlq',
949 'psrlw',
950 'psrlw',
951 'psubb',
952 'psubb',
953 'psubb',
954 'psubd',
955 'psubd',
956 'psubd',
957 'psubq',
958 'psubq',
959 'psubq',
960 'psubsb',
961 'psubsb',
962 'psubsb',
963 'psubsiw',
964 'psubsiw',
965 'psubsw',
966 'psubsw',
967 'psubsw',
968 'psubusb',
969 'psubusb',
970 'psubusb',
971 'psubusw',
972 'psubusw',
973 'psubusw',
974 'psubw',
975 'psubw',
976 'psubw',
977 'pswapd',
978 'pswapd',
979 'punpckhbw',
980 'punpckhbw',
981 'punpckhbw',
982 'punpckhdq',
983 'punpckhdq',
984 'punpckhdq',
985 'punpckhqdq',
986 'punpckhqdq',
987 'punpckhwd',
988 'punpckhwd',
989 'punpckhwd',
990 'punpcklbw',
991 'punpcklbw',
992 'punpcklbw',
993 'punpckldq',
994 'punpckldq',
995 'punpckldq',
996 'punpcklqdq',
997 'punpcklqdq',
998 'punpcklwd',
999 'punpcklwd',
1000 'punpcklwd',
1001 'push',
1002 'push',
1003 'pusha',
1004 'pusha',
1005 'pushad',
1006 'pushad',
1007 'pushaw',
1008 'pushaw',
1009 'pushf',
1010 'pushf',
1011 'pushfd',
1012 'pushfd',
1013 'pushfw',
1014 'pushfw',
1015 'pxor',
1016 'pxor',
1017 'rcl',
1018 'rcl',
1019 'rcpps',
1020 'rcpps',
1021 'rcpss',
1022 'rcpss',
1023 'rcr',
1024 'rcr',
1025 'rdmsr',
1026 'rdmsr',
1027 'rdpmc',
1028 'rdpmc',
1029 'rdshr',
1030 'rdshr',
1031 'rdtsc',
1032 'rdtsc',
1033 'ret',
1034 'ret',
1035 'retf',
1036 'retf',
1037 'retn',
1038 'retn',
1039 'rol',
1040 'rol',
1041 'ror',
1042 'ror',
1043 'rsdc',
1044 'rsdc',
1045 'rsldt',
1046 'rsldt',
1047 'rsm',
1048 'rsm',
1049 'rsqrtps',
1050 'rsqrtps',
1051 'rsqrtss',
1052 'rsqrtss',
1053 'rsts',
1054 'rsts',
1055 'sahf',
1056 'sahf',
1057 'sal',
1058 'sal',
1059 'salc',
1060 'salc',
1061 'sar',
1062 'sar',
1063 'sbb',
1064 'sbb',
1065 'scasb',
1066 'scasb',
1067 'scasd',
1068 'scasd',
1069 'scasw',
1070 'scasw',
1071 'setcc',
1072 'setcc',
1073 'sfence',
1074 'sfence',
1075 'sgdt',
1076 'sgdt',
1077 'shl',
1078 'shl',
1079 'shld',
1080 'shld',
1081 'shr',
1082 'shr',
1083 'shrd',
1084 'shrd',
1085 'shufpd',
1086 'shufpd',
1087 'shufps',
1088 'shufps',
1089 'sidt',
1090 'sidt',
1091 'sldt',
1092 'sldt',
1093 'smi',
1094 'smi',
1095 'smint',
1096 'smint',
1097 'smintold',
1098 'smintold',
1099 'smsw',
1100 'smsw',
1101 'sqrtpd',
1102 'sqrtpd',
1103 'sqrtps',
1104 'sqrtps',
1105 'sqrtsd',
1106 'sqrtsd',
1107 'sqrtss',
1108 'sqrtss',
1109 'stc',
1110 'stc',
1111 'std',
1112 'std',
1113 'sti',
1114 'sti',
1115 'stmxcsr',
1116 'stmxcsr',
1117 'stosb',
1118 'stosb',
1119 'stosd',
1120 'stosd',
1121 'stosw',
1122 'stosw',
1123 'str',
1124 'str',
1125 'sub',
1126 'sub',
1127 'subpd',
1128 'subpd',
1129 'subps',
1130 'subps',
1131 'subsd',
1132 'subsd',
1133 'subss',
1134 'subss',
1135 'svdc',
1136 'svdc',
1137 'svldt',
1138 'svldt',
1139 'svts',
1140 'svts',
1141 'syscall',
1142 'syscall',
1143 'sysenter',
1144 'sysenter',
1145 'sysexit',
1146 'sysexit',
1147 'sysret',
1148 'sysret',
1149 'test',
1150 'test',
1151 'ucomisd',
1152 'ucomisd',
1153 'ucomiss',
1154 'ucomiss',
1155 'ud0',
1156 'ud0',
1157 'ud1',
1158 'ud1',
1159 'ud2',
1160 'ud2',
1161 'umov',
1162 'umov',
1163 'unpckhpd',
1164 'unpckhpd',
1165 'unpckhps',
1166 'unpckhps',
1167 'unpcklpd',
1168 'unpcklpd',
1169 'unpcklps',
1170 'unpcklps',
1171 'verr',
1172 'verr',
1173 'verw',
1174 'verw',
1175 'wait',
1176 'wait',
1177 'wbinvd',
1178 'wbinvd',
1179 'wrmsr',
1180 'wrmsr',
1181 'wrshr',
1182 'wrshr',
1183 'xadd',
1184 'xadd',
1185 'xbts',
1186 'xbts',
1187 'xchg',
1188 'xchg',
1189 'xlat',
1190 'xlat',
1191 'xlatb',
1192 'xlatb',
1193 'xor',
1194 'xor',
1195 'xorpd',
1196 'xorpd',
1197 'xorps',
1198 'xorps',
1199 );
1200 $self->listAdd('registers',
1201 'ah',
1202 'al',
1203 'ax',
1204 'bh',
1205 'bl',
1206 'bp',
1207 'bx',
1208 'ch',
1209 'cl',
1210 'cr0',
1211 'cr1',
1212 'cr2',
1213 'cr3',
1214 'cr4',
1215 'cs',
1216 'cx',
1217 'dh',
1218 'di',
1219 'dl',
1220 'ds',
1221 'dx',
1222 'eax',
1223 'ebp',
1224 'ebx',
1225 'ecx',
1226 'edi',
1227 'edx',
1228 'eip',
1229 'es',
1230 'esi',
1231 'esp',
1232 'fs',
1233 'gs',
1234 'ip',
1235 'mm0',
1236 'mm1',
1237 'mm2',
1238 'mm3',
1239 'mm4',
1240 'mm5',
1241 'mm6',
1242 'mm7',
1243 'si',
1244 'sp',
1245 'ss',
1246 'st',
1247 'xmm0',
1248 'xmm1',
1249 'xmm2',
1250 'xmm3',
1251 'xmm4',
1252 'xmm5',
1253 'xmm6',
1254 'xmm7',
1255 );
1256 $self->contextdata({
1257 'Comment' => {
1258 callback => \&parseComment,
1259 attribute => 'Comment',
1260 lineending => '#pop',
1261 },
1262 'Normal' => {
1263 callback => \&parseNormal,
1264 attribute => 'Normal Text',
1265 },
1266 'Preprocessor' => {
1267 callback => \&parsePreprocessor,
1268 attribute => 'Preprocessor',
1269 lineending => '#pop',
1270 },
1271 'String' => {
1272 callback => \&parseString,
1273 attribute => 'String',
1274 lineending => '#pop',
1275 },
1276 });
1277 $self->deliminators('\\s||\\.|\\(|\\)|:|\\!|\\+|,|-|<|=|>|\\%|\\&|\\*|\\/|;|\\?|\\[|\\]|\\^|\\{|\\||\\}|\\~|\\\\');
1278 $self->basecontext('Normal');
1279 $self->keywordscase(0);
1280 $self->initialize;
1281 bless ($self, $class);
1282 return $self;
1283}
1284
1285sub language {
1286 return 'Intel x86 (NASM)';
1287}
1288
1289sub parseComment {
1290 my ($self, $text) = @_;
1291 return 0;
1292};
1293
1294sub parseNormal {
1295 my ($self, $text) = @_;
1296 # String => 'registers'
1297 # attribute => 'Registers'
1298 # context => '#stay'
1299 # type => 'keyword'
1300 if ($self->testKeyword($text, 'registers', 0, undef, 0, '#stay', 'Registers')) {
1301 return 1
1302 }
1303 # String => 'Data'
1304 # attribute => 'Data'
1305 # context => '#stay'
1306 # type => 'keyword'
1307 if ($self->testKeyword($text, 'Data', 0, undef, 0, '#stay', 'Data')) {
1308 return 1
1309 }
1310 # String => 'instructions'
1311 # attribute => 'Instructions'
1312 # context => '#stay'
1313 # type => 'keyword'
1314 if ($self->testKeyword($text, 'instructions', 0, undef, 0, '#stay', 'Instructions')) {
1315 return 1
1316 }
1317 # String => 'NASM Keywords'
1318 # attribute => 'NASM Keywords'
1319 # context => '#stay'
1320 # type => 'keyword'
1321 if ($self->testKeyword($text, 'NASM Keywords', 0, undef, 0, '#stay', 'NASM Keywords')) {
1322 return 1
1323 }
1324 # attribute => 'Comment'
1325 # char => ';'
1326 # context => 'Comment'
1327 # type => 'DetectChar'
1328 if ($self->testDetectChar($text, ';', 0, 0, 0, undef, 0, 'Comment', 'Comment')) {
1329 return 1
1330 }
1331 # attribute => 'Preprocessor'
1332 # char => '%'
1333 # context => 'Preprocessor'
1334 # type => 'DetectChar'
1335 if ($self->testDetectChar($text, '%', 0, 0, 0, undef, 0, 'Preprocessor', 'Preprocessor')) {
1336 return 1
1337 }
1338 # String => '"''
1339 # attribute => 'String'
1340 # context => 'String'
1341 # type => 'AnyChar'
1342 if ($self->testAnyChar($text, '"\'', 0, 0, undef, 0, 'String', 'String')) {
1343 return 1
1344 }
1345 # String => '^\s*[A-Za-z0-9_.$]+:'
1346 # attribute => 'Label'
1347 # context => '#stay'
1348 # type => 'RegExpr'
1349 if ($self->testRegExpr($text, '^\\s*[A-Za-z0-9_.$]+:', 0, 0, 0, undef, 0, '#stay', 'Label')) {
1350 return 1
1351 }
1352 # String => '(cmov|fcmov|j|loop|set)(a|ae|b|be|c|e|g|ge|l|le|na|nae|nb|nbe|nc|ne|ng|nge|nl|nle|no|np|ns|nz|o|p|pe|po|s|z)'
1353 # attribute => 'Instructions'
1354 # context => '#stay'
1355 # type => 'RegExpr'
1356 if ($self->testRegExpr($text, '(cmov|fcmov|j|loop|set)(a|ae|b|be|c|e|g|ge|l|le|na|nae|nb|nbe|nc|ne|ng|nge|nl|nle|no|np|ns|nz|o|p|pe|po|s|z)', 0, 0, 0, undef, 0, '#stay', 'Instructions')) {
1357 return 1
1358 }
1359 # String => 'cpu (pentium|ppro|p2|p3|katmai|p4|willamette|prescott|ia64)*'
1360 # attribute => 'NASM Keywords'
1361 # context => '#stay'
1362 # type => 'RegExpr'
1363 if ($self->testRegExpr($text, 'cpu (pentium|ppro|p2|p3|katmai|p4|willamette|prescott|ia64)*', 0, 0, 0, undef, 0, '#stay', 'NASM Keywords')) {
1364 return 1
1365 }
1366 # String => '(\$[0-9]+[a-f0-9]*|[a-f0-9]+h)'
1367 # attribute => 'BaseN'
1368 # context => '#stay'
1369 # insensitive => 'TRUE'
1370 # type => 'RegExpr'
1371 if ($self->testRegExpr($text, '(\\$[0-9]+[a-f0-9]*|[a-f0-9]+h)', 1, 0, 0, undef, 0, '#stay', 'BaseN')) {
1372 return 1
1373 }
1374 # String => '([0-7]+(q|o)|[01]+b)'
1375 # attribute => 'BaseN'
1376 # context => '#stay'
1377 # insensitive => 'TRUE'
1378 # type => 'RegExpr'
1379 if ($self->testRegExpr($text, '([0-7]+(q|o)|[01]+b)', 1, 0, 0, undef, 0, '#stay', 'BaseN')) {
1380 return 1
1381 }
1382 # attribute => 'Number'
1383 # char => '$'
1384 # context => '#stay'
1385 # type => 'DetectChar'
1386 if ($self->testDetectChar($text, '$', 0, 0, 0, undef, 0, '#stay', 'Number')) {
1387 return 1
1388 }
1389 # attribute => 'BaseN'
1390 # context => '#stay'
1391 # type => 'HlCOct'
1392 if ($self->testHlCOct($text, 0, undef, 0, '#stay', 'BaseN')) {
1393 return 1
1394 }
1395 # attribute => 'BaseN'
1396 # context => '#stay'
1397 # type => 'HlCHex'
1398 if ($self->testHlCHex($text, 0, undef, 0, '#stay', 'BaseN')) {
1399 return 1
1400 }
1401 # attribute => 'Float'
1402 # context => '#stay'
1403 # type => 'Float'
1404 if ($self->testFloat($text, 0, undef, 0, '#stay', 'Float')) {
1405 return 1
1406 }
1407 # attribute => 'Number'
1408 # context => '#stay'
1409 # type => 'Int'
1410 if ($self->testInt($text, 0, undef, 0, '#stay', 'Number')) {
1411 return 1
1412 }
1413 # attribute => 'Char'
1414 # context => '#stay'
1415 # type => 'HlCChar'
1416 if ($self->testHlCChar($text, 0, undef, 0, '#stay', 'Char')) {
1417 return 1
1418 }
1419 return 0;
1420};
1421
1422sub parsePreprocessor {
1423 my ($self, $text) = @_;
1424 return 0;
1425};
1426
1427sub parseString {
1428 my ($self, $text) = @_;
1429 # String => '"''
1430 # attribute => 'String'
1431 # context => '#pop'
1432 # type => 'AnyChar'
1433 if ($self->testAnyChar($text, '"\'', 0, 0, undef, 0, '#pop', 'String')) {
1434 return 1
1435 }
1436 return 0;
1437};
1438
1439
14401;
1441
1442__END__
1443
1444=head1 NAME
1445
1446Syntax::Highlight::Engine::Kate::Intel_x86_NASM - a Plugin for Intel x86 (NASM) syntax highlighting
1447
1448=head1 SYNOPSIS
1449
1450 require Syntax::Highlight::Engine::Kate::Intel_x86_NASM;
1451 my $sh = new Syntax::Highlight::Engine::Kate::Intel_x86_NASM([
1452 ]);
1453
1454=head1 DESCRIPTION
1455
1456Syntax::Highlight::Engine::Kate::Intel_x86_NASM is a plugin module that provides syntax highlighting
1457for Intel x86 (NASM) to the Syntax::Haghlight::Engine::Kate highlighting engine.
1458
1459This code is generated from the syntax definition files used
1460by the Kate project.
1461It works quite fine, but can use refinement and optimization.
1462
1463It inherits Syntax::Higlight::Engine::Kate::Template. See also there.
1464
1465=cut
1466
1467=head1 AUTHOR
1468
1469Hans Jeuken (haje <at> toneel <dot> demon <dot> nl)
1470
1471=cut
1472
1473=head1 BUGS
1474
1475Unknown. If you find any, please contact the author
1476
1477=cut
1478