o
    Rh&                     @   s|   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 deZG dd deZG d	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                   @   s  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defedddejfedddejfdejfed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d4e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 r   r   S/home/air/sanwanet/backup_V2/venv/lib/python3.10/site-packages/pygments/lexers/d.pyr      s8   
	#$)*-02579;=BDFHLNOPQRSUWY]
_c

 
r   c                   @   s   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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*   r.   r2   r1   r3   global	namespacer5   r7   r;   r<   localr?   rK   rL   rP   rQ   rT   rU   rV   varargr]   r^   yieldrc   rd   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      sT    
,


r   c                   @   s(   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      s    r   N)r   pygments.lexerr   r   r   r   pygments.tokenr   r   r   r	   r
   r   r   __all__r   r   r   r   r   r   r   <module>   s    
$ *@