summaryrefslogtreecommitdiff
path: root/support/highlight/langDefs/d.lang
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/highlight/langDefs/d.lang
Initial commit
Diffstat (limited to 'support/highlight/langDefs/d.lang')
-rw-r--r--support/highlight/langDefs/d.lang88
1 files changed, 88 insertions, 0 deletions
diff --git a/support/highlight/langDefs/d.lang b/support/highlight/langDefs/d.lang
new file mode 100644
index 0000000000..6bddcfcd5e
--- /dev/null
+++ b/support/highlight/langDefs/d.lang
@@ -0,0 +1,88 @@
+# D language definition file
+#
+# Author: Andre Simon
+# Mail: andre.simon1@gmx.de
+# Date: 18.3.2002
+# ------------------------------------------
+# This file is a part of highlight, a free source code converter released under the GPL.
+#
+# The file is used to describe keywords and special symbols of programming languages.
+# See README in the highlight directory for details.
+#
+# New definition files for future releases of highlight are always appreciated ;)
+#
+# ----------
+# andre.simon1@gmx.de
+# http:/www.andre-simon.de/
+
+$DESCRIPTION=D
+
+$DESCRIPTION=D definition
+
+$KEYWORDS(kwa)=abstract alias align asm assert auto bit body break byte case cast catch cdouble cent cfloat char class const continue creal
+dchar debug default delegate delete deprecated do double else enum export extern false final finally float for foreach function goto
+idouble if ifloat import in inout int interface invariant ireal is long mixin module new null out override package pragma private
+protected public real return short static struct super switch synchronized template this throw true try typedef typeid typeof ubyte ucent
+uint ulong union unittest ushort version void volatile wchar while with
+
+# special tokens
+$KEYWORDS(kwb)=__FILE__ __LINE__ __DATE__ __TIME__ __TIMESTAMP__
+
+# assembler upcodes
+$KEYWORDS(kwc)=aaa aad aam aas adc add addpd addps addsd addss and andnpd andnps andpd andps arpl bound bsf bsr
+bswap bt btc btr bts call cbw cdq clc cld clflush cli clts cmc cmova cmovae cmovb cmovbe cmovc cmove cmovg
+cmovge cmovl cmovle cmovna cmovnae cmovnb cmovnbe cmovnc cmovne cmovng cmovnge cmovnl cmovnle cmovno cmovnp cmovns cmovnz
+cmovo cmovp cmovpe cmovpo cmovs cmovz cmp cmppd cmpps cmps cmpsb cmpsd cmpss cmpsw cmpxch8b cmpxchg comisd
+comiss cpuid cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd cvtps2pi
+cvtsd2si cvtsd2ss cvtsi2sd cvtsi2ss cvtss2sd cvtss2si cvttpd2dq cvttpd2pi cvttps2dq cvttps2pi cvttsd2si
+cvttss2si cwd cwde da daa das db dd de dec df di div divpd divps divsd divss dl dq ds dt dw emms enter f2xm1
+fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom
+fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp feni ffree fiadd ficom ficomp fidiv
+fidivr fild fimul fincstp finit fist fistp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi
+fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint
+frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom
+fucomi fucomip fucomp fucompp fwait fxam fxch fxrstor fxsave fxtract fyl2x fyl2xp1 hlt idiv imul in inc ins
+insb insd insw int into invd invlpg iret iretd ja jae jb jbe jc jcxz je jecxz jg jge jl jle jmp jna jnae
+jnb jnbe jnc jne jng jnge jnl jnle jno jnp jns jnz jo jp jpe jpo js jz lahf lar ldmxcsr lds lea leave les
+lfence lfs lgdt lgs lidt lldt lmsw lock lods lodsb lodsd lodsw loop loope loopne loopnz loopz lsl lss ltr
+maskmovdqu maskmovq maxpd maxps maxsd maxss mfence minpd minps minsd minss mov movapd movaps movd movdq2q movdqa
+movdqu movhlps movhpd movhps movlhps movlpd movlps movmskpd movmskps movntdq movnti movntpd movntps movntq movq movq2dq
+movs movsb movsd movss movsw movsx movupd movups movzx mul mulpd mulps mulsd mulss neg nop not or orpd orps
+out outs outsb outsd outsw packssdw packsswb packuswb paddb paddd paddq paddsb paddsw paddusb paddusw paddw
+pand pandn pavgb pavgw pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pextrw pinsrw pmaddwd pmaxsw pmaxub pminsw pminub
+pmovmskb pmulhuw pmulhw pmullw pmuludq pop popa popad popf popfd por prefetchnta prefetcht0 prefetcht1 prefetcht2
+psadbw pshufd pshufhw pshuflw pshufw pslld pslldq psllq psllw psrad psraw psrld psrldq psrlq psrlw psubb psubd
+psubq psubsb psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhqdq punpckhwd punpcklbw punpckldq punpcklqdq
+punpcklwd push pusha pushad pushf pushfd pxor rcl rcpps rcpss rcr rdmsr rdpmc rdtsc rep repe repne repnz
+repz ret retf rol ror rsm rsqrtps rsqrtss sahf sal sar sbb scas scasb scasd scasw seta setae setb
+setbe setc sete setg setge setl setle setna setnae setnb setnbe setnc setne setng setnge setnl setnle
+setno setnp setns setnz seto setp setpe setpo sets setz sfence sgdt shl shld shr shrd shufpd shufps sidt
+sldt smsw sqrtpd sqrtps sqrtsd sqrtss stc sti stmxcsr stos stosb stosd stosw str sub subpd subps subsd
+subss sysenter sysexit test ucomisd ucomiss ud2 unpckhpd unpckhps unpcklpd unpcklps verr
+verw wait wbinvd wrmsr xadd xchg xlat xlatb xor xorpd xorps addsubpd addsubps fisttp haddpd haddps hsubpd hsubps lddqu
+monitor movddup movshdup movsldup mwait pavgusb pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfnacc pfpnacc
+pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmulhrw pswapd
+
+
+#$KEYWORDS(kwb)=regex([A-Z]+)
+
+$KEYWORDS(kwd)=regex((\w+)\s*\()
+
+$STRINGDELIMITERS=" ' `
+$RAWSTRINGPREFIX=r
+
+$SL_COMMENT=//
+$ML_COMMENT=/* */
+$ML_COMMENT=/+ +/
+
+$ALLOWNESTEDCOMMENTS=false
+
+$IGNORECASE=false
+
+$ESCCHAR=regex(\\\d{3}|\\x\p{XDigit}{2}|\\[ntvbrfa\\\?'"])
+
+$ALLOWEXTESCAPE=true
+
+$DIGIT=regex((?:0x|0X)[0-9a-fA-F]+|\d*[\.\_]?\d+(?:[eE][\-\+]\d+)?[lLuUbfdm]*)
+
+$SYMBOLS= ( ) [ ] { } , ; . : & | < > ! = / * % + - ~