
    Mh&                         d Z ddlmZmZmZmZ ddlmZmZm	Z	m
Z
mZmZmZ g dZ G d de          Z G d de          Z G d	 d
e          ZdS )z
    pygments.lexers.d
    ~~~~~~~~~~~~~~~~~

    Lexers for D languages.

    :copyright: Copyright 2006-2025 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
    )
RegexLexerincludewordsbygroups)CommentKeywordNameStringNumberPunctuation
Whitespace)DLexer	CrocLexer
MiniDLexerc                      e Zd ZdZdZdZddgZdgZdgZdZ	g d	e
fd
e
fd eej        e
          fdej        fdej        df edd          ef edd          ej        f edd          ej        fdej        f edd          ej        fdej        fdej        fdej        fdej        fdej        fdej        fdej        fdej        fdej        fdej        fd efd!efd"efd#efd$efd%ed&fd'ed(fd)ed*fd+ed,fd-efd.efd/ed0fd1ej         fd2e!fd3efd4 eej"        e
ej"        e
          fd5ej        fdej        d6fd7ej        d8fd9ej        fgd:e!d;fd<ed8f e#d=          gd:e!d6fd<e!d8f e#d=          gd>efd?ed@fdAed8fgd>efd?ed6fdBed8fgdCefdDedEfdFed8fgdCefdDed6fdGed8fgdHefdIedJfdKed8fgdHefdIed6fdLed8fgdMefd:edNfdOed8fgdMefd:ed6fd<ed8fgdPZ$dQS )Rr   z
    For D source.
    Dzhttps://dlang.org/z*.dz*.didztext/x-dsrcz1.2\n\s+(//.*?)(\n)z/(\\\n)?[*](.|\n)*?[*](\\\n)?/z/\+nested_comment)Mabstractaliasalignasmassertautobodybreakcasecastcatchclassconstcontinuedebugdefaultdelegatedelete
deprecateddoelseenumexportexternfinallyfinalforeach_reverseforeachforfunctiongotoif	immutableimport	interface	invariantinoutinislazymixinmodulenewnothrowoutoverridepackagepragmaprivate	protectedpublicpurerefreturnscopesharedstaticstructsuperswitchsynchronizedtemplatethisthrowtrytypeidtypeofunionunittestversionvolatilewhilewith	__gshared__traits__vector__parameters\bsuffix)typedef)boolbytecdoublecentcfloatcharcrealdchardoublefloatidoubleifloatintireallongrealshortubyteucentuintulongushortvoidwchar(false|true|null)\b)__FILE____FILE_FULL_PATH__
__MODULE____LINE____FUNCTION____PRETTY_FUNCTION____DATE____EOF____TIME____TIMESTAMP__
__VENDOR____VERSION__zmacro\bz+(string|wstring|dstring|size_t|ptrdiff_t)\bzL0[xX]([0-9a-fA-F_]*\.[0-9a-fA-F_]+|[0-9a-fA-F_]+)[pP][+\-]?[0-9_]+[fFL]?[i]?zI[0-9_]+(\.[0-9_]+[eE][+\-]?[0-9_]+|\.[0-9_]*|[eE][+\-]?[0-9_]+)[fFL]?[i]?z0\.(0|[1-9][0-9_]*)([eE][+\-]?[0-9_]+)?[fFL]?[i]?z0[Bb][01_]+z0[0-7_]+z0[xX][0-9a-fA-F_]+z$(0|[1-9][0-9_]*)([LUu]|Lu|LU|uL|UL)?za'(\\['"?\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|\\&\w+;|.)'zr"[^"]*"[cwd]?z`[^`]*`[cwd]?z"(\\\\|\\[^\\]|[^"\\])*"[cwd]?zT\\(['\"?\\abfnrtv]|x[0-9a-fA-F]{2}|[0-7]{1,3}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8}|&\w+;)zx"[0-9a-fA-F_\s]*"[cwd]?zq"\[delimited_bracketzq"\(delimited_parenthesiszq"<delimited_anglezq"\{delimited_curlyzq"([a-zA-Z_]\w*)\n.*?\n\1"zq"(.).*?\1"zq\{token_stringz@([a-zA-Z_]\w*)?z(~=|\^=|%=|\*=|==|!>=|!<=|!<>=|!<>|!<|!>|!=|>>>=|>>>|>>=|>>|>=|<>=|<>|<<=|<<|<=|\+\+|\+=|--|-=|\|\||\|=|&&|&=|\.\.\.|\.\.|/=)|[/.&|\-+<>!()\[\]{}?,;:$=*%^~][a-zA-Z_]\w*z(#line)(\s)(.*)(\n)z[^+/]+#pushz\+/#popz[+/]z\{token_string_nestz\}rootz[^\[\]]+z\[delimited_inside_bracketz\]"z\]z[^()]+z\(delimited_inside_parenthesisz\)"z\)z[^<>]+<delimited_inside_anglez>">z[^{}]+delimited_inside_curlyz\}")r   r   r   r   r   r   r   r   r   r   r   r   N)%__name__
__module____qualname____doc__nameurl	filenamesaliases	mimetypesversion_addedr   r   r   Single	Multiliner   r   RemovedTypeConstantPseudoReservedr	   Builtinr   FloatBinOctHexIntegerr
   Char	Decoratorr   Specialr   tokens     Q/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pygments/lexers/d.pyr   r      s]         D
CIeGIMa
Ja
Z a

 XXgnjAABa
 /0ABa
 W&(89a
 U E    a
0 U     _	1a
: U + 49	: : :
 \;a
F $W%56Ga
H U - 6;< < < ^	Ia
R )*Sa
T <T\JUa
Z,-3\;[a
`78>Faa
d A&,Oea
j VZ(ka
n &*%oa
r #FJ/sa
v 5fnEwa
zE[{a
D 'Ea
H v&Ia
L /7Ma
P8Qa
X )&1Ya
\ f12]a
^ f56_a
` V./aa
b f/0ca
d +F3ea
f V$ga
j V^,ka
n !$.1oa
r01<>sa
z d#{a
~ $XXgoz&- &- .a
F )*W&0W&/g'(	
 K!45FF#GFOO
 K)K(GFOO
 &!F67VV$
 &!FG$FF#%
 F:;VV$"
 FG$FF#)
 634FF#
 67#66"#
 F45VV$
 FG$FF##
m[ [FFFr   r   c                   `   e Zd ZdZdZdZdgZdgZdgZdZ	de
fd	e
fd
 eej        e
          fdej        df edd          efdej        fdej        fdej        fdej        fdej        fdej        fdefdefdefdefdefdefgdej        fdej        dfdej        dfd ej        fgd!Zd"S )#r   z
    For Croc source.
    Croczhttp://jfbillingsley.com/crocz*.croccrocztext/x-crocsrc r   r   r   z/\*nestedcomment)!asr   r   r    r"   r#   r%   r'   r+   r,   r0   r4   r3   r5   global	namespacer7   r9   r=   r>   localrA   rM   rN   rR   rS   rV   rW   rX   varargr_   r`   yieldre   rf   r   z<([0-9][0-9_]*)(?=[.eE])(\.[0-9][0-9_]*)?([eE][+\-]?[0-9_]+)?z0[bB][01][01_]*z0[xX][0-9a-fA-F][0-9a-fA-F_]*z([0-9][0-9_]*)(?![.eE])zT'(\\['"\\nrt]|\\x[0-9a-fA-F]{2}|\\[0-9]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|.)'z@"(""|[^"])*"z@`(``|[^`])*`z@'(''|[^'])*'z"(\\\\|\\[^\\]|[^"\\])*"z(~=|\^=|%=|\*=|==|!=|>>>=|>>>|>>=|>>|>=|<=>|\?=|-\>|<<=|<<|<=|\+\+|\+=|--|-=|\|\||\|=|&&|&=|\.\.|/=)|[-/.&$@|\+<>!()\[\]{}?,;:=*%^~#\\]r   z[^*/]+r   z\*/r   z[*/])r   r   N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   r	   r   r   r   r   r   r      so         D
)C
IhG!"IM JZ XXgnjAABW&8U ;
 DIJ J J  $W%56L\  ,-vz:'8=[
 v&v&v&(&145@B d#S*
X )*W&0W&/g'(	
Y2 2FFFr   r   c                   *    e Zd ZdZdZg ZdgZdgZdZdS )r   z7
    For MiniD source. MiniD is now known as Croc.
    MiniDminidztext/x-minidsrcr   N)	r   r   r   r   r   r   r   r   r   r   r   r   r   r      s8          DIiG"#IMMMr   r   N)r   pygments.lexerr   r   r   r   pygments.tokenr   r   r	   r
   r   r   r   __all__r   r   r   r   r   r   <module>r      s/    @ ? ? ? ? ? ? ? ? ? ? ?                  0
/
/f f f f fZ f f fR= = = = =
 = = =@         r   